Module:For each named parameter
Appearance
Documentation for this module may be created at Module:For each named parameter/doc
local p = {}
function p.main(frame)
local code = mw.text.unstripNoWiki(frame.args.code or frame.args[2])
local results = {}
local sep = frame.args[1] or ''
for key, value in pairs(frame:getParent().args) do
if type(key) ~= 'number' then
local actualCode = code:gsub("{{{([^{}|]*)|?[^{}]*}}}", {name = key, value = value})
local result = frame:getParent():preprocess(actualCode)
if #result > 0 then
table.insert(results, result)
end
end
end
return table.concat(results, sep)
end
return p