Module:MinMax: Difference between revisions
Jump to navigation
Jump to search
Wilderness>Gaz Lloyd (Created page with "local p = {} local expr = mw.ext.ParserFunctions.expr function p.min(frame) local args = getargs(frame) return p._min(args) end function p._min(tbl) local low = tbl[1]...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 22:33, 30 March 2024
Documentation for this module may be created at Module:MinMax/doc
local p = {}
local expr = mw.ext.ParserFunctions.expr
function p.min(frame)
local args = getargs(frame)
return p._min(args)
end
function p._min(tbl)
local low = tbl[1]
for _, v in ipairs(tbl) do
if v < low then
low = v
end
end
return low
end
function p.max(frame)
local args = getargs(frame)
return p._max(args)
end
function p._max(tbl)
local high = tbl[1]
for _, v in ipairs(tbl) do
if v > high then
high = v
end
end
return high
end
function getargs(frame)
args = frame:getParent().args
local nums = {}
for _, v in ipairs(args) do
local w = string.gsub(v,',','')
w = tonumber(w) or tonumber(expr(w))
if w then
table.insert(nums,w)
end
end
return nums
end
return p