کاربر ناشناس
به نسخهٔ 31707907 از Jeeputer (بحث) برگردانده شد (TW)
جز (۱ نسخه واردشده) |
|||
| خط ۲: | خط ۲: | ||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
local yesno = require('Module:Yesno') | |||
local makeTemplate = require('Module:Template invocation').invocation | |||
p = {} | p = {} | ||
| خط ۱۵: | خط ۱۶: | ||
function p._main(args) | function p._main(args) | ||
local template = args['call'] or 'void' | local template = args['call'] or 'void' | ||
local calltemplates = yesno(args.substall or "", true) or not mw.isSubsting() | |||
local variableParam = args.pv | local variableParam = args.pv | ||
variableParam = tonumber(variableParam) or variableParam or 1 -- fix for positional parameters | variableParam = tonumber(variableParam) or variableParam or 1 -- fix for positional parameters | ||
| خط ۲۴: | خط ۲۶: | ||
local result = '' | local result = '' | ||
local addSeparator = false; | |||
for i, v in ipairs(variableVals) do | for i, v in ipairs(variableVals) do | ||
v = mw.text.trim(v) -- trim whitespace | v = mw.text.trim(v) -- trim whitespace | ||
local targs = constantArgs | if #v > 0 or not yesno(args.skipBlanks) then | ||
if addSeparator then | |||
result = result .. sep | |||
end | |||
addSeparator = true; | |||
local targs = constantArgs | |||
targs[variableParam] = variableValPrefix .. v .. variableValPostfix | |||
if calltemplates then | |||
result = result .. p.callTemplate(template, targs) | |||
else | |||
result = result .. makeTemplate(template, targs) | |||
end | |||
end | end | ||
end | end | ||
| خط ۵۳: | خط ۶۲: | ||
function p.getVariableVals(args) | function p.getVariableVals(args) | ||
local variableVals = {} | local variableVals = {} | ||
for i, v in ipairs(args) do | if args.start or args.stop or args.by then | ||
if args[2] then | |||
error("Both start/stop/by and numbered parameters specified") | |||
end | |||
start = tonumber(args.start or 1) | |||
stop = tonumber(args.stop or 1) | |||
by = tonumber(args.by or 1) | |||
for i = start, stop, by do | |||
variableVals [#variableVals + 1] = i | |||
end | |||
else | |||
for i, v in ipairs(args) do | |||
if i ~= 1 then | |||
variableVals[i - 1] = v | |||
end | |||
end | end | ||
end | end | ||