打开/关闭菜单
324
1711
132
1.2万
星露谷物语扩展百科
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:Utils:修订间差异

来自星露谷物语扩展百科
删除的内容 添加的内容
Sizau留言 | 贡献
预备通用库
 
Sizau留言 | 贡献
创建页面
第1行: 第1行:
local p = {}
local Self = {}


function Self.LazyLoad(moduleName, toLowerCase)
return p
toLowerCase = toLowerCase or false
local loaded = nil

local function doLoad()
if loaded == nil then
loaded = mw.loadData(moduleName)
if toLowerCase then
local lowerCaseLoaded = {}
for key, value in pairs(loaded) do
lowerCaseLoaded[string.lower(key)] = value
end
loaded = lowerCaseLoaded
end
end
return loaded
end

local meta = {}
meta.__index = function(_table, key)
return doLoad()[key]
end
meta.__pairs = function(_table)
return pairs(doLoad())
end
meta.__ipairs = function(_table)
return ipairs(doLoad())
end

local ret = {}
setmetatable(ret, meta)
return ret
end

function Self.ExpandTemplate(title, args)
return mw.getCurrentFrame():expandTemplate{
title = title,
args = args
}
end

return Self

2025年9月2日 (二) 19:04的版本

[ 创建 | 刷新 ]文档页面
当前模块文档缺失,需要扩充。
local Self = {}

function Self.LazyLoad(moduleName, toLowerCase)
	toLowerCase = toLowerCase or false
    local loaded = nil

    local function doLoad()
        if loaded == nil then
            loaded = mw.loadData(moduleName)
            if toLowerCase then
                local lowerCaseLoaded = {}
                for key, value in pairs(loaded) do
                    lowerCaseLoaded[string.lower(key)] = value
                end
                loaded = lowerCaseLoaded
            end
        end
        return loaded
    end

    local meta = {}
    meta.__index = function(_table, key)
        return doLoad()[key]
    end
    meta.__pairs = function(_table)
        return pairs(doLoad())
    end
    meta.__ipairs = function(_table)
        return ipairs(doLoad())
    end

    local ret = {}
    setmetatable(ret, meta)
    return ret
end

function Self.ExpandTemplate(title, args)
    return mw.getCurrentFrame():expandTemplate{
        title = title,
        args = args
    }
end

return Self