跳转到内容

模組:Class

被永久保护的模块
维基百科,自由的百科全书

这是本页的一个历史版本,由風中的刀劍留言 | 贡献2015年8月28日 (五) 07:56编辑。这可能和当前版本存在着巨大的差异。

require('Module:No globals')
local getArgs = require('Module:Arguments').getArgs

local class = mw.loadData('Module:Class/data')


local function getIdx(cont)
	if cont == nil then
		return 1
	end
	
	cont = string.lower(cont)
	
	for i, v in ipairs(class) do
		
		if cont == v.code then
			return i
		end
		
		if cont == v.name then
			return i
		end
		
		if cont == v.name2 then
			return i
		end
		
		for _, w in ipairs(v.alias) do
			if cont == w then
				return i
			end
		end
	end
	
	return 1
end

local function makeInvokeFunc(funcName)
	return function (frame)
		local args = getArgs(frame)
		return p[funcName](args)
	end
end

p = {}

p.colour = makeInvokeFunc('_colour')

function p._colour(args)
	local idx = getIdx(args[1])
	
	return mw.text.nowiki(class[idx].color)
end

return p