模块:ArrayTemplate

来自维阿百科
霓虹灯鱼讨论 | 贡献2022年7月8日 (五) 21:15的版本 (导入1个版本)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

该模块实现{{ApplyToArray}}的功能。

请不要直接调用此模块。


-- Module:ArrayTemplate
-- Made with ♥ by User:Leranjun

-- This module implements {{tl|ApplyToArray}}.
-- Please refrain from invoking this module directly.

local p = {}

local getArgs = require("Module:Arguments").getArgs

function p.main(frame)
    local args = getArgs(frame)
    local tname, arr = args[1], args[2]
    local cnt = frame:expandTemplate {title = "array", args = {"get", arr, "count"}}
    local targs = {}

    for i = 1, cnt, 2 do
        local k = frame:expandTemplate {title = "array", args = {"get", arr, i}}
        local v = frame:expandTemplate {title = "array", args = {"get", arr, i + 1}}
        targs[k] = v
    end

    return frame:expandTemplate {title = tname, args = targs}
end

return p