打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“模块:LinkArray”的源代码
来自Rizline中文维基
查看
阅读
查看源代码
查看历史
associated-pages
模块
讨论
更多操作
←
模块:LinkArray
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:emailconfirmed
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
local p = {} local function stringToArray(str, sep) local arr = {} for v in mw.text.gsplit(str, '%s*' .. sep .. '%s*') do if v ~= '' then table.insert(arr, v) end end if requireSort then table.sort(arr) end return arr end local function tableToArray(tbl, requireSort) local arr = {} for k, v in pairs(tbl) do if type(k) == 'number' and v ~= '' then arr[k] = v end end if requireSort then table.sort(arr) end return arr end function p.main() local args = require('Module:ProcessArgs').merge(true) return p.linkArray(args) end function p.linkArray(args) local f = mw.getCurrentFrame() local prefix = args.prefix or '' local suffix = args.suffix or '' local namePrefix = args.nameprefix or '' local nameSuffix = args.namesuffix or '' local delimiter = args.delimiter local finalDelimiter = args.finaldelimiter local sep = args.sep or ',' local linkPrefix = args.directlink and '{{Direct link|' or '[[' local linkSuffix = args.directlink and '}}' or ']]' local requireSort = args.sort local firstOnly = args.firstonly local outputPrefix = args.outputprefix or '' local outputSuffix = args.outputsuffix or '' local arr = {} if args.mode and args.mode ~= 'single' then arr = tableToArray(args, requireSort) else arr = stringToArray(args[1], sep, requireSort) end local tbl = {} for k, v in ipairs(arr) do if firstOnly and k ~= 1 then table.insert(tbl, v) else table.insert( tbl, f:preprocess( linkPrefix .. prefix .. mw.text.trim(v) .. suffix .. '|' .. namePrefix .. mw.text.trim(v) .. nameSuffix .. linkSuffix ) ) end end local result if args.pretty then result = mw.text.listToText(tbl, delimiter, finalDelimiter) else result = table.concat(tbl, delimiter) end return outputPrefix .. result .. outputSuffix end return p
本页使用的模板:
模块:LinkArray/doc
(
查看源代码
)
返回
模块:LinkArray
。