跳转到内容

模組:Infobox number

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

这是本页的一个历史版本,由A2569875留言 | 贡献2020年11月15日 (日) 10:51 建立内容为“local p={} local base_data = {binary=2,ternary=3,quaternary=4,quinary=5,senary=6,septenary=7,octal=8,nonary=9,denary=10,decimal==10,undecimal=11,duo…”的新页面)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
local p={}
local base_data = {binary=2,ternary=3,quaternary=4,quinary=5,senary=6,septenary=7,octal=8,nonary=9,denary=10,decimal==10,undecimal=11,duodecimal=12,tridecimal=13,tetradecimal=14,pentadecimal=15,hexadecimal=16,heptadecimal=17,octodecimal=18,enneadecimal=19,vigesimal=20,unvigesimal=21,duovigesimal=22,trivigesimal=23,tetravigesimal=24,pentavigesimal=25,hexavigesimal=26,heptavigesimal=27,septemvigesimal=27,octovigesimal=28,enneavigesimal=29,trigesimal=30,untrigesimal=31,duotrigesimal=32,tritrigesimal=33,tetratrigesimal=34,pentatrigesimal=35,hexatrigesimal=36,heptatrigesimal=37,octotrigesimal=38,quadragesimal=40,duoquadragesimal=42,pentaquadragesimal=45,octoquadragesimal=48,enneaquadragesimal=49,quinquagesimal=50,duoquinquagesimal=52,tetraquinquagesimal=54,hexaquinquagesimal=56,heptaquinquagesimal=57,octoquinquagesimal=58,sexagesimal=60}
local numberToChinese = require('Module:NumberToChinese')
function p.nbase(frame)
	-- For calling from #invoke. {{#invoke:Infobox number|nbase}}
    local args, working_frame
    if frame == mw.getCurrentFrame() then
        -- We're being called via #invoke. The args are passed through to the module
        -- from the template page, so use the args that were passed into the template.
        if lib_arg.getArgs == nil then lib_arg = require('Module:Arguments') end
        args = lib_arg.getArgs(frame) --frame
    else
        -- We're being called from another module or from the debug console, so assume
        -- the args are passed in directly.
        args = frame
    end
    working_frame = mw.getCurrentFrame()
    local base_args = {}
    for k,v in pairs(args) do
    	local finder=mw.ustring.lower(k)
		if mw.ustring.find(finder,'[進进][位制]') or mw.ustring.find(finder,'base') then
			local basedata=mw.ustring.gsub(finder,'[進进][位制]','')
			basedata=mw.ustring.gsub(basedata,'base','')
			local base_id = basedata
			xpcall(function()base_id=numberToChinese._numberToChinese(basedata)end,function(err)end)
			base_args[base_id] = v
		elseif base_data[finder] then
			local base_id = numberToChinese._numberToChinese(base_data[finder])
			base_args[base_id] = v
		end
    end
	mw.logObject(base_args)
end