匿名
未登录
创建账号
登录
The Land of StarLight
搜索
查看“模块:Array”的源代码
来自The Land of StarLight
命名空间
模块
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
模块:Array
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local p = {} local f = mw.getCurrentFrame() local function stringToArray(str, separator, wrapTag, keepBlank) local arr = {} local i = 1 for v in mw.text.gsplit(str, separator) do if v ~= '' or keepBlank then if wrapTag ~= '' then arr[i] = f:extensionTag(wrapTag, v) else arr[i] = v end end i = i + 1 end return arr end local function tableToArray(tbl, wrapTag, keepBlank) local arr = {} for k, v in pairs(tbl) do if type(k) == 'number' and (v ~= '' or keepBlank) then if wrapTag ~= '' then arr[k] = f:extensionTag(wrapTag, v) else arr[k] = v end end end table.sort(arr) return arr end function p.main() local args = require('Module:ProcessArgs').merge(true) return p.array(args) end function p.array(args) local wrapTag = args.wrap or '' local delimiter = args.delimiter or args.d or '' local keepBlank = args.keepblank local arr if args.mode == 'single' then arr = stringToArray(args[1], args.sep or ',', wrapTag, keepBlank) else arr = tableToArray(args, wrapTag, keepBlank) end if delimiter == 'pretty' then return mw.text.listToText(arr) elseif delimiter == 'newline' or delimiter == 'br' then return table.concat(arr, '<br>') elseif delimiter == 'list' or delimiter == 'list-newline' or delimiter == 'bullet' or delimiter == '*' then local listLevel = args['list-level'] or '**' return table.concat(arr, '\n' .. listLevel) else return table.concat(arr, delimiter) end end return p
该页面使用的模板:
模块:Array/doc
(
查看源代码
)
返回
模块:Array
。
导航
快速跳转
TLSL(wiki首页)
- StarLight-Server
奇怪的折跃门
活跃玩家
重要领地合集
小黑屋
SLS官网
wiki工具
wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志