模块:Class:修订间差异

来自TFLS Wiki
无编辑摘要
无编辑摘要
第10行: 第10行:


function p._levelLint(level)
function p._levelLint(level)
level = {}
if level == '高中' or level == '高' or level == 1 then
if level == '高中' or level == '高' or level == 1 then
return '高中 高'
level[1] = "高中"
level[2] = ""
return level
else  
else  
return '初中 中'
level[1] = "初中"
level[2] = "初"
return level
end
end
end
end
function p._split(s, delimiter)
    result = {};
    for match in (s..delimiter):gmatch("(.-)"..delimiter) do
        table.insert(result, match);
    end
    return result;
end


function p._genName(args)
function p._genName(args)
第33行: 第30行:
grade = current.year - args.year
grade = current.year - args.year
end
end
level = p._levelLint(args.level)


if grade > 3 then
if grade > 3 then
return p._split(p._levelLint(args.level), " ")[1] .. args.year+3 .. '届' .. args.class .. '班' .. args.sub
return level[1] .. args.year+3 .. '届' .. args.class .. '班' .. args.sub
else
else
return p._split(p._levelLint(args.level), " ")[2] .. convert(grade) .. args.class .. '班' .. args.sub
return level[2] .. convert(grade) .. args.class .. '班' .. args.sub
end
end
end
end

2022年5月21日 (六) 19:04的版本

可在模块:Class/doc创建此模块的帮助文档

local p = {}

local getArgs = require('Module:Arguments').getArgs
local convert = require('Module:NumberToChinese')._numberToChinese

function p.genName(frame)
	local args = getArgs(frame)
	return p._genName(args)
end

function p._levelLint(level)
	level = {}

	if level == '高中' or level == '高' or level == 1 then
		level[1] = "高中"
		level[2] = "高"
		return level
	else 
		level[1] = "初中"
		level[2] = "初"
		return level
	end
end

function p._genName(args)
	current = require('Module:Date')._current
	if current.month >= 9 then
		grade = current.year + 1 - args.year 
	else	
		grade = current.year - args.year
	end	
	
	level = p._levelLint(args.level)

	if grade > 3 then
		return level[1] .. args.year+3 .. '届' .. args.class .. '班'	.. args.sub
	else
		return level[2] .. convert(grade) .. args.class .. '班' .. args.sub
	end
end


return p