跳转到内容

编辑“︁Module:Arguments”︁

警告:您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您登录创建账号,您的编辑会以您的用户名署名,此外还有其他益处。

该编辑可以被撤销。 请检查下面的对比以核实您想要撤销的内容,然后发布下面的更改以完成撤销。

最后版本 您的文本
第86行: 第86行:
end
end


function p.merge(frame, obj)
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(frame, v[2])]=p.merge(frame, v[1])
             res[p.merge(v[2])]=p.merge(v[1])
           else
           else
             --mw.log(v[1])
             --mw.log(v[1])
             table.insert(res, p.merge(frame, v[1]))
             table.insert(res, p.merge(v[1]))
           end
           end
         else
         else
           --mw.log(v)
           --mw.log(v)
           table.insert(res, p.merge(frame, v))
           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(frame, obj[1]) .. "|" .. table.concat(p.merge(frame, obj[2]), "|") .. "}}"
     --return "{{" .. p.merge(obj[1]) .. "|" .. table.concat(p.merge(obj[2]), "|") .. "}}"
     return frame:expandTemplate{title=p.merge(frame, obj[1]), args=p.merge(frame, obj[2])}
     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(frame, v))
         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(frame, p.parse_args(argstr, 1))
   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(frame, p.parse_args(argstr, 1))
   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 fakeframe={}
   local function merge(obj)
  fakeframe.expandTemplate=function(self, value)
    if type(obj)~="table" then return obj end
     return "{{" .. value.title .. "|" .. table.concat(value.args, "|") .. "}}"
 
    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
  setmetatable(fakeframe, {__index=frame})
 
   local r=p.merge(fakeframe, p.parse_args(argstr, 1))
   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
请注意,所有对锑星百科的贡献均被视为依照Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)发表(详情请见锑星百科:著作权)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。未经许可,请勿提交受著作权保护的作品!
取消 编辑帮助​(在新窗口中打开)
以下为几个常用的符号,点选你想要的符号后,它会立即出现在编辑框中你所指定的位置。

检视此模板

该页面使用的模板:

我们为您提供服务需要使用Cookie。使用我们的服务即表示您同意我们使用Cookie。