此模块用于将一个给定分隔符的列表转换为以另一给定分隔符分隔的链接列表。
用法
directlink:设置此参数以使用{{Lua错误 在第17行:attempt to concatenate local 'prefix' (a nil value)而非[[foo]];prefix:所有链接的公共前缀;suffix:所有链接的公共后缀;nameprefix:所有链接显示文字的公共前缀;namesuffix:所有链接显示文字的公共后缀;pretty:设置此参数以使用更自然的分隔符方式;- 设置此项后
delimiter和finaldelimiter将默认从MediaWiki名字空间内寻找合适的值,也可手动指定;
- 设置此项后
sep:转换前的列表分隔符,默认为,;delimiter:转换后的列表分隔符;finaldelimiter:转换后的最后一个列表分隔符,仅当设置了pretty时有实际效果。
另见
语言
-- Example usage:
-- user links: {{#invoke: LinkArray | main | user1, user2... | prefix = User: | delimiter = ,  }}
-- diff links: {{#invoke: LinkArray | main | diff1, diff2... | prefix = Special:Diff/ | delimiter = • }}
local p = {}
function p.main(f)
local args = f
if f == mw.getCurrentFrame() then
args = f:getParent().args
end
local tbl = {}
local arrayData = args[1]
local prefix = args.prefix
local delimiter = args.delimiter
for k, v in ipairs(mw.text.split(arrayData, '%s*,%s*')) do
tbl[k] = '[[' .. prefix .. mw.text.trim(v) .. '|' .. mw.text.trim(v) .. ']]'
end
return table.concat(tbl, delimiter)
end
return p