42 lines
548 B
Lua
42 lines
548 B
Lua
local function equal(a, b)
|
|
for k in pairs(a) do
|
|
if not b[k] then
|
|
return false
|
|
end
|
|
end
|
|
for k in pairs(b) do
|
|
if not a[k] then
|
|
return false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
local function min(s)
|
|
local a
|
|
for b in pairs(s) do
|
|
if not a or b < a then
|
|
a = b
|
|
end
|
|
end
|
|
return a
|
|
end
|
|
|
|
local function max(s)
|
|
local a
|
|
for b in pairs(s) do
|
|
if not a or a < b then
|
|
a = b
|
|
end
|
|
end
|
|
return a
|
|
end
|
|
|
|
local function merge(to, from)
|
|
for k in pairs(from) do
|
|
to[k] = true
|
|
end
|
|
end
|
|
|
|
return {equal = equal, min = min, max = max, merge = merge}
|