编辑“︁Module:Arguments”︁
外观
该编辑可以被撤销。 请检查下面的对比以核实您想要撤销的内容,然后发布下面的更改以完成撤销。
最后版本 | 您的文本 | ||
第86行: | 第86行: | ||
end | end | ||
function p.merge( | function p.merge(obj) | ||
if type(obj)~="table" then return obj end | if type(obj)~="table" then return obj end | ||
第96行: | 第96行: | ||
if v[2] then | if v[2] then | ||
--mw.log(v[2],v[1]) | --mw.log(v[2],v[1]) | ||
res[p.merge( | res[p.merge(v[2])]=p.merge(v[1]) | ||
else | else | ||
--mw.log(v[1]) | --mw.log(v[1]) | ||
table.insert(res, p.merge( | table.insert(res, p.merge(v[1])) | ||
end | end | ||
else | else | ||
--mw.log(v) | --mw.log(v) | ||
table.insert(res, p.merge( | table.insert(res, p.merge(v)) | ||
end | end | ||
end | end | ||
第109行: | 第109行: | ||
return res | return res | ||
elseif obj["type"]=="template" then | elseif obj["type"]=="template" then | ||
--return "{{" .. p.merge( | --return "{{" .. p.merge(obj[1]) .. "|" .. table.concat(p.merge(obj[2]), "|") .. "}}" | ||
return frame:expandTemplate{title=p.merge( | return frame:expandTemplate{title=p.merge(obj[1]), args=p.merge(obj[2])} | ||
elseif obj["type"]=="value" then | elseif obj["type"]=="value" then | ||
local res={} | local res={} | ||
for i, v in ipairs(obj) do | for i, v in ipairs(obj) do | ||
if i~="type" then | if i~="type" then | ||
table.insert(res, p.merge( | table.insert(res, p.merge(v)) | ||
end | end | ||
end | end | ||
第136行: | 第136行: | ||
if not argstr then return end | if not argstr then return end | ||
local r=p.merge( | local r=p.merge(p.parse_args(argstr, 1)) | ||
local nr={} | local nr={} | ||
for i, v in pairs(r) do | for i, v in pairs(r) do | ||
第156行: | 第156行: | ||
if not argstr then return end | if not argstr then return end | ||
local r=p.merge( | local r=p.merge(p.parse_args(argstr, 1)) | ||
local nr={} | local nr={} | ||
for i, v in ipairs(r) do | for i, v in ipairs(r) do | ||
第173行: | 第173行: | ||
if not argstr then return end | if not argstr then return end | ||
local | local function merge(obj) | ||
if type(obj)~="table" then return obj end | |||
return "{{" .. | |||
if obj["type"]=="list" then | |||
local res={} | |||
for i, v in ipairs(obj) do | |||
if i~="type" then | |||
if v["type"]=="arg" then | |||
if v[2] then | |||
--mw.log(v[2],v[1]) | |||
res[merge(v[2])]=merge(v[1]) | |||
else | |||
--mw.log(v[1]) | |||
table.insert(res, merge(v[1])) | |||
end | |||
else | |||
--mw.log(v) | |||
table.insert(res, merge(v)) | |||
end | |||
end | |||
end | |||
return res | |||
elseif obj["type"]=="template" then | |||
return "{{" .. merge(obj[1]) .. "|" .. table.concat(merge(obj[2]), "|") .. "}}" | |||
elseif obj["type"]=="value" then | |||
local res={} | |||
for i, v in ipairs(obj) do | |||
if i~="type" then | |||
table.insert(res, merge(v)) | |||
end | |||
end | |||
return table.concat(res) | |||
else | |||
return obj | |||
end | |||
end | end | ||
local r= | local r=merge(p.parse_args(argstr, 1)) | ||
local nr={} | local nr={} | ||
for i, v in ipairs(r) do | for i, v in ipairs(r) do |