Modul:Vorlage:MinMax
Modul zum Ermitteln eines Numerischen Minimums oder Maximums
Nur Standardparameter. Leere oder nicht-numerische Werte werden ignoriert. Zulässig sind alle mit der Parserfunktion "#expr:" ermittelbaren arithm. Ausdrücke. Gibt es keinen gültigen Wert, wird ein leerer String zurückgegeben.
Sie ist in erster Linie für die Vorlagen Min, Max, Min27 und Max27 gedacht.
local p = {}
function p.Min(frame)
local n = ""
local m = ""
for i, v in pairs(frame.args) do
v = v or ""
if v ~= "" then -- leere Parameter (Strings) überspringen
n = tonumber(frame:callParserFunction{name = '#expr', args = v }) -- #expr zum Parsen eines Ausdrucks.
if n then -- nicht-numerische Ausdrücke werden ignoriert
if m== "" then
m = n
else
m = math.min(m, n)
end
end
end
end
return m
end
function p.Max(frame)
local n = ""
local m = ""
for i, v in pairs(frame.args) do
v = v or ""
if v ~= "" then -- leere Parameter (Strings) überspringen
n = tonumber(frame:callParserFunction{name = '#expr', args = v }) -- #expr zum Parsen eines Ausdrucks.
if n then -- nicht-numerische Ausdrücke werden ignoriert
if m== "" then
m = n
else
m = math.max(m, n)
end
end
end
end
return m
end
return p