跳转到内容

模組: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 '同名人物') or
			string.format('%s「%s」的人物', named or '名为', 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