"Module:Other people": अवतरणों में अंतर

Content deleted Content added
Ugh, have to replace table.remove() with a manual downshift because table.remove assumes a sequence
Updated from sandbox
पंक्ति 1:
local mOtheruses = require('Module:Other uses')
local mArguments = require('Module:Arguments')
local compressArray = require('Module:TableTools').compressSparseArray
local p = {}
 
function p.otherPeople (frame)
--Get arguments and simply compress the array while preserving named args
--and gaps below 2
local origArgs = mArguments.getArgs(frame)
local argsnamed = {}origArgs.named
forlocal k,args v= in pairscompressArray(origArgs) do
if not origArgs[1] then table.insert(args, 1, nil) end
if type(k) == 'number' and k > 1 then
args[math.max(table.maxn(args) + 1, 2)] = v
else
args[k] = v
end
end
-- Assemble arguments and return
local title = args[1] or mw.title.getCurrentTitle().text
Line 21 ⟶ 16:
defaultPage = args[2],
otherText = (args[2] and not args[1] and 'people with the same name') or
string.format('people %s %s', args.named or 'named', title)
}
-- Don't pass args[1] through as a target page. Manual downshift because Lua
-- expectation of sequences means table.remove() doesn't necessarily work
for i = 2, math.max(table.maxn(args), 2) do
args[i - 1] = args[i]
args[i] = nil