Module:沙盒
阅读:244 更新:2023-7-13
来自柯南百科
可在Module:沙盒/doc创建此模块的帮助文档
local p = {}
function p.getStaff(frame)
local args = frame.args
local data = mw.loadJsonData("Module:沙盒/test.json")
if args[1] and string.sub(args[1], 1, 2) == "TV" then
-- 根据集数参数返回职位和姓名的wikitext表格
local episode = args[1]
local staffData = data[episode]
if staffData then
local output = '{| class="wikitable"\n|-\n! 职位\n! 姓名\n'
for position, nameList in pairs(staffData) do
local names = ''
for _, nameItem in ipairs(nameList) do
names = names .. nameItem .. '、'
end
names = string.sub(names, 1, -4)
output = output .. '|-\n! ' .. position .. '\n| ' .. names .. '\n'
end
output = output .. '|}'
return output
else
return "未找到该集数的信息。"
end
elseif args[1] then
-- 根据姓名参数返回集数和职位的wikitext表格
local name = args[1]
local output = '{| class="wikitable"\n|-\n! 集数\n! 职位\n'
for episode, staffData in pairs(data) do
for position, nameList in pairs(staffData) do
for _, nameItem in ipairs(nameList) do
if nameItem == name then
output = output .. '|-\n| ' .. episode .. '\n| ' .. position .. '\n'
end
end
end
end
output = output .. '|}'
if output == '{| class="wikitable"\n|-\n! 集数\n! 职位\n|}' then
return "未找到该姓名的信息。"
else
return output
end
else
return "请输入集数或姓名参数。"
end
end
return p