Module:Redirect-multi: Difference between revisions
Appearance
Content deleted Content added
m tonumber() |
m Tweaked downshift code |
||
Line 14: | Line 14: | ||
--Manual downshift of arguments; not using table.remove because getArgs is |
--Manual downshift of arguments; not using table.remove because getArgs is |
||
--gnarly and it's not a sequence anyway |
--gnarly and it's not a sequence anyway |
||
for i = 2, maxArg do args[i - 1] = args[i] end |
for i = 2, maxArg + 1 do args[i - 1] = args[i] end |
||
local options = {selfref = args.selfref} |
local options = {selfref = args.selfref} |
||
return mRedirectHatnote._redirect(args, numRedirects, options) |
return mRedirectHatnote._redirect(args, numRedirects, options) |
Revision as of 14:29, 17 May 2016
Implements {{redirect-multi}}.
local mRedirectHatnote = require('Module:Redirect hatnote')
local mArguments = require('Module:Arguments')
local p = {}
function p.redirectMulti (frame)
local args = mArguments.getArgs(frame)
--Get maxArg manually because getArgs and table.maxn aren't friends
local maxArg = 0
for k, v in pairs(args) do
if type(k) == 'number' and k > maxArg then maxArg = k end
end
--Get number of redirects then remove it from the args table
local numRedirects = tonumber(args[1]) or 1
--Manual downshift of arguments; not using table.remove because getArgs is
--gnarly and it's not a sequence anyway
for i = 2, maxArg + 1 do args[i - 1] = args[i] end
local options = {selfref = args.selfref}
return mRedirectHatnote._redirect(args, numRedirects, options)
end
return p