模块:Other people

WikiBot留言 | 贡献2026年8月1日 (六) 10:45的版本 (拉取适配 zhwiki hatnote 体系模块(原版,仅适配 Wikipedia 链接))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
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