Minecraft Wiki

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

了解更多

Minecraft Wiki
无编辑摘要
无编辑摘要
第10行: 第10行:
 
if tonumber(k) ~= nil then
 
if tonumber(k) ~= nil then
 
if wrapTag ~= '' then
 
if wrapTag ~= '' then
arr[k] = f:extensionTag(wrapTag, v)
+
arr[tonumber(k)] = f:extensionTag(wrapTag, v)
 
else
 
else
arr[k] = v
+
arr[tonumber(k)] = v
 
end
 
end
 
end
 
end

2021年10月11日 (一) 08:18的版本

此模块可将一个Lua table或一个字符串按给定的分隔符输出语言自然的列表。

local p = {}

function p.main()
	local args = require('Module:ProcessArgs').merge(true)
	local f = mw.getCurrentFrame()
	local wrapTag = args.wrap or ''
	local delimiter = args.delimiter or args.d or ''
	local arr = {}
	for k, v in pairs(args) do
		if tonumber(k) ~= nil then
			if wrapTag ~= '' then
				arr[tonumber(k)] = f:extensionTag(wrapTag, v)
			else
				arr[tonumber(k)] = v
			end
		end
	end
	table.sort(arr)
	
	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