Module:For loop/sandbox: Difference between revisions

Content deleted Content added
Belated impl of edit request
No edit summary
Line 23:
local sep = args[1] or ''
local constantArgs = p.getConstants(args)
local outputTempvariableVals = argsp.outputTemplategetVariableVals(args)
if outputTemp and #outputTemp == 0 then
outputTemp = nil
end
local variableVals = p.getVariableVals(args, outputTemp)
 
local result = {}''
local addSeparator = false;
for i, v in ipairs(variableVals) do
v = mw.text.trim(v) -- trim whitespace
if #v > 0 or not yesno(args.skipBlanks) then
if addSeparator and not outputTemp then
result[#result += 1]result =.. sep
end
addSeparator = true;
local targs = constantArgs
targs[variableParam] = variableValPrefix .. v .. variableValPostfix
if calltemplates then
local outputresult = result .. p.callTemplate(template, targs)
if #mw.text.trim(output) == 0 then
addSeparator = false
end
else
result = result .. makeTemplate(template, targs)
Line 50 ⟶ 43:
end
end
return table.concat(result)
if outputTemp then
if callTemplates then
return p.callTemplate(outputTemp, result)
else
return makeTemplate(outputTemp, result)
end
else
return table.concat(result)
end
end
 
Line 75 ⟶ 60:
end
 
function p.getVariableVals(args, outputTemp)
local variableVals = {}
if args.start or args.stop or args.by then
Line 89 ⟶ 74:
else
for i, v in ipairs(args) do
if outputTemp or i ~= 1 then
variableVals[i - 1] = v
end