模块:Other people

来自决策链云智库
Zeroclanzhang讨论 | 贡献2024年1月21日 (日) 21:41的版本 (创建页面,内容为“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 local origArgs = mArguments.getArgs(frame) local named = origArgs.named local args = compressArray(origArgs) if not origArgs[1] then table.insert(args, 1, nil) end -- Assemble arguments and return local title = args[1] or mw.title.…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)


Implements {{other people}}.


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
	local origArgs = mArguments.getArgs(frame)
	local named = origArgs.named
	local args = compressArray(origArgs)
	if not origArgs[1] then table.insert(args, 1, nil) end
	-- Assemble arguments and return
	local title = args[1] or mw.title.getCurrentTitle().text
	local options = {
		title = title,
		defaultPage = args[2],
		otherText = (args[2] and not args[1] and 'people with the same name') or
			string.format('people %s %s', 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
	end
	return mOtheruses._otheruses(args, options)
end

return p