跳到内容
折叠侧栏
搜索
中文(中国大陆)
创建账号
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
友情链接
互助客栈
加入我们
沙盒
文件列表
导航
中珂院图库
AI研究所
工具
链入页面
相关更改
特殊页面
页面信息
其他语言
查看“模块:Var-array”的源代码
模块
讨论
English
阅读
查看源代码
查看历史
更多
阅读
查看源代码
查看历史
←
模块:Var-array
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local module = {} function module.new(name, array) local frame = mw.getCurrentFrame() local idCount = frame:callParserFunction( '#var', 'array.idCount', 0) function foo(name, array) name = '@array-innerArrayIdentifier:'..name frame:callParserFunction( '#vardefine', name, name) for i, v in ipairs(array) do if type(v) == 'table' then idCount = idCount + 1 local innerArrayName = name..'___'..idCount..'___' foo(innerArrayName, v) v = '@array-innerArrayIdentifier:'..innerArrayName end frame:callParserFunction( '#vardefine', name..i, v) end frame:callParserFunction( '#vardefine', name..'.count', #array) end foo(name, array) frame:callParserFunction( '#vardefine', 'array.idCount', idCount) return name end function module.get(name) local frame = mw.getCurrentFrame() if type(name) == 'nil' then return nil end local time = 0 function foo(name) local array = {} time = time + 1 if time == 1 then name = '@array-innerArrayIdentifier:'..name end local count = frame:callParserFunction( '#var', name..'.count') if count == '' then return false end for i=1, count do local val = frame:callParserFunction('#var', name..i) if string.find(val, '^@array%-innerArrayIdentifier:') then array[i] = foo(val) else array[i] = val end end return array end return foo(name) end return module
本页使用的模板:
模块:Var-array/doc
(
查看源代码
)
返回
模块:Var-array
。