Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

此模块用于将一个给定分隔符的列表转换为以另一给定分隔符分隔的链接列表。

用法

  • directlink:设置此参数以使用{{Lua错误 在第17行:attempt to concatenate local 'prefix' (a nil value)而非[[foo]];
  • prefix:所有链接的公共前缀;
  • suffix:所有链接的公共后缀;
  • nameprefix:所有链接显示文字的公共前缀;
  • namesuffix:所有链接显示文字的公共后缀;
  • pretty:设置此参数以使用更自然的分隔符方式;
    • 设置此项后delimiterfinaldelimiter将默认从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
Advertisement