Modulo:Infobox nave: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
r
Moroboshi (discussione | contributi)
+ measures
Riga 31:
local function round_auto(num)
local base = - math.floor(math.log10(math.abs(num))) + 1
if base < -23 then base = -23 end
return round(num, base)
end
Riga 166:
end
 
---============================================================
-- Format a generic list of measure
---============================================================
function p.measure(frame)
local args = args(frame, {parentOnly = true})
local paremeters = args(frame, {frameOnly = true})
local base_arg = parameters[1]
local base_type = parameters[2] or ''
local um = parameters[3] or ''
if not base_arg then return end
local elements = {}
local value_txt = args[base_arg]
if not value_txt then return end
local value = get_value(value_txt)
if value then value_txt = format_value(tostring(value)) end
local value_type = args[base_type]
value_type = (value_type and (value_type .. ": ")) or ''
elements[1] = value_type .. value_txt .. um
local n = 2
while true do
local nchar = tostring(n)
value_txt = args[base_arg .. nchar]
if value_txt then
value = get_value(value_txt)
if value then value_txt = format_value(tostring(value)) end
value_type = args[base_type .. nchar]
value_type = (value_type and (value_type .. ": ")) or ''
elements[#elements+1] = value_type .. value_txt .. um
else
break
end
end
if #elements == 1 then
return elements[1]
else
return '<UL><LI>' .. mw.text.listToText(elements, '</LI>\n<LI>') .. '</LI>\n</UL>'
end
end
return p