Module:Explode String: Difference between revisions
From Valheim Wiki
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
local args_table | local args_table | ||
local function | local function toList(input, linkSuffix) | ||
local | if not linkSuffix then | ||
linkSuffix = '' | |||
end | |||
local ret = '' | |||
for str in string.gmatch(input, '([^,]+)') do | for str in string.gmatch(input, '([^,]+)') do | ||
ret = ret..'[['..str..'|'..str..linkSuffix..']]' | |||
end | end | ||
return | return ret | ||
end | end | ||
| Line 41: | Line 46: | ||
mw.log(ret) | mw.log(ret) | ||
return | return toList(getArg('input')) | ||
end | end | ||
return p | return p | ||
Revision as of 21:45, 18 February 2021
Documentation for this module may be created at Module:Explode String/doc
local currentFrame
local trim = mw.text.trim
---Holds the arguments from the template call.
local args_table
local function toList(input, linkSuffix)
if not linkSuffix then
linkSuffix = ''
end
local ret = ''
for str in string.gmatch(input, '([^,]+)') do
ret = ret..'[['..str..'|'..str..linkSuffix..']]'
end
return ret
end
---Return a trimmed version of the value of the template parameter with the specified `key`.
---Return `nil` if the parameter is empty or unset.
---@param key string|number
---@return string|nil
local function getArg(key)
local value = args_table[key]
if not value then
return nil
end
value = trim(value)
if value == '' then
return nil
end
return value
end
local p = {}
p.loop = function(frame)
args_table = frame:getParent().args
local ret = ''
ret = ret..(getArg('linksuffix') or '?')..(getArg('input') or 'Z')..(getArg('string') or '8')
mw.log(ret)
return toList(getArg('input'))
end
return p