Modulo:MultiBand/sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
--[[
* Modulo a supporto del template MultiBand.
]]--

require('strict')

local p = {}

-- Dato un unico parametro posizionale che può valere "nome" o "imm"
-- e un parent arg con nome "anno", itera i parent arg "annoN" e restituisce
-- il relativo nomeN o immN se l'anno richiesto è >= di annoN,
-- altrimenti l'ultimo valore precedente noto.
function p.get(frame)
	local pargs = frame:getParent().args
	local reqAnno = tonumber(pargs.anno) or tonumber(os.date('%Y'))
	local ret

	for n = 1, 50 do
		local anno = tonumber(pargs['anno' .. n])
		if anno then
			if reqAnno >= anno then
				ret = pargs[frame.args[1] .. n] or ret
			end
		else
			break
		end
	end

	return ret
end

return p