跳转到内容

模組:Class/convert

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

这是Module:Class/convert当前版本,由Xiplus留言 | 贡献编辑于2017年11月16日 (四) 23:53 (已保护“模块:Class/convert”:高风险模板([编辑=仅管理员](无限期)[移动=仅管理员](无限期)))。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
require('Module:No globals')

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

local p = {}

local function ret(args, i)
	if args[2] == 'simp' then
		return class[i].name
	end
	if args[2] == 'trad' then
		return class[i].name2
	end
	return class[i].code
end

function p.main(frame)
	local args = getArgs(frame, {frameOnly = true})
	return p._main(args)
end

function p._main(args)
	-- Main module code goes here.
	local str = string.lower(args[1] or 'unassessed')

	for i, v in pairs(class) do
		if str == v.code then
			return ret(args, i)
		end
		
		if str == v.name or str == v.name .. '级' then
			return ret(args, i)
		end
		
		if str == v.name2 or str == v.name2 .. '級'  then
			return ret(args, i)
		end
		
		for j, w in ipairs(v.alias) do
			if str == w then
				return ret(args, i)
			end
		end
	end
	
	return ret(args, 0)
end

return p