Module:Explode String: Difference between revisions

From Valheim Wiki
No edit summary
No edit summary
Line 1: Line 1:
---A cached version of the current frame, the interface to the parser.
local currentFrame
local currentFrame
local trim = mw.text.trim
---Holds the arguments from the template call.
---Holds the arguments from the template call.
local args_table
local args_table
local currentFrame -- global cache for current frame object.
local inputArgs -- global args cache.


---Return a trimmed version of the value of the template parameter with the specified `key`.
---Return a trimmed version of the value of the template parameter with the specified `key`.
Line 13: Line 10:
---@return string|nil
---@return string|nil
local function getArg(key)
local function getArg(key)
local value = args_table[key]
local value = ''
-- local value = args_table[key]
if not value then
if not value then
return nil
return nil
Line 26: Line 24:
local p = {}
local p = {}
p.loop = function(frame)
p.loop = function(frame)
local stage = frame.args.stage
args_table = frame:getParent().args
local rows = {}
 
-- the actual looping part
    return getArg('linksuffix') or '?'
for value in mw.text.gsplit(stage, ',') do
table.insert(rows, '|' .. value)
end
return ' {|\n' .. table.concat(rows, '\n|-\n') .. '\n|}'
end
end


-----------------------------------------------------------------
return p
-- main return object
return {
 
loop = function(frame, args)
string = getArg('string')
linksuffix = getArg('linksuffix') or ''
 
-- output
return string..linksuffix..'test'
 
end,
 
}

Revision as of 21:18, 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

---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 = ''
--	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

    return getArg('linksuffix') or '?'
end

return p