模块:Utils:修订间差异

来自少前2百科
无编辑摘要
Lz讨论 | 贡献
无编辑摘要
 
(未显示同一用户的6个中间版本)
第2行: 第2行:


function p.foreach(frame)
function p.foreach(frame)
     local template = frame.args[1]:gsub('\\n', '\n')
     local template = frame.args[1]:gsub('\n$', '')
    template = template:gsub('\\n', '\n')
    template = template:gsub('%(%(!%)%)', '|')
     local ret = ''
     local ret = ''
     for i, arg in ipairs(frame.args) do
     for i, arg in ipairs(frame.args) do
    arg = arg:gsub('\n$', '')
         if i > 1 and arg ~= '' then
         if i > 1 and arg ~= '' then
             local text = template:gsub('%(%(%(1%)%)%)', arg)
             local text = template:gsub('%(%(%(1%)%)%)', arg)
第10行: 第13行:
         end
         end
     end
     end
     return frame:preprocess(ret)
     return ret
end
 
function p.inherit_args(frame)
    local template = frame.args[1]
    local parent = frame:getParent()
    return frame:expandTemplate{title = template, args = parent.args}
end
end


function p.d()
function p.d()
     local frame = {
     local frame = {
         args = { 'hello (((1)))\n', 'x', 'y', 'z' }
         args = { '((!))hello (((1)))\n', 'x\n', 'y\n', 'z' }
     }
     }
     local r = p.for_each(frame)
     local r = p.foreach(frame)
     mw.log(r)
     mw.log(r)
end
end


return p
return p

2024年2月14日 (三) 04:54的最新版本

可在模块:Utils/doc创建此模块的帮助文档

local p = {}

function p.foreach(frame)
    local template = frame.args[1]:gsub('\n$', '')
    template = template:gsub('\\n', '\n')
    template = template:gsub('%(%(!%)%)', '|')
    local ret = ''
    for i, arg in ipairs(frame.args) do
    	arg = arg:gsub('\n$', '')
        if i > 1 and arg ~= '' then
            local text = template:gsub('%(%(%(1%)%)%)', arg)
            ret = ret .. text
        end
    end
    return ret
end

function p.inherit_args(frame)
    local template = frame.args[1]
    local parent = frame:getParent()
    return frame:expandTemplate{title = template, args = parent.args}
end

function p.d()
    local frame = {
        args = { '((!))hello (((1)))\n', 'x\n', 'y\n', 'z' }
    }
    local r = p.foreach(frame)
    mw.log(r)
end

return p