local s = {}
-- 启
--~ 对
--~ 能
function s.历对(o1_0, o1)
local k1, k2
for o2, o3 in pairs(o1_0) do
--~ 键
--~ 值
k1, k2 = s.模(k1, k2, o2, o3, o1)
end
return k1, k2
end
-- 模
--~ 键
--~ 值
--~ 对中键
--~ 对中值
--~ 能
function s.模(o1, o2, o3, o4, o5)
if o1 == nil then
return o3, o4
elseif o5(o1, o2, o3, o4) then
return o3, o4
else
return o1, o2
end
end
-- 最短
--~ 最短键
--~ 值
--~ 键
--~ 值
function s._筛最短键(o1, o2, o3, o4)
if #o1 > #o3 then
return true
end
end
--~ 对
function s.筛最短键(o1_0)
return s.历对(o1_0, s._筛最短键)
end
-- 最大
--~ 键
--~ 最大值
--~ 键
--~ 值
function s._筛最大值(o1, o2, o3, o4)
if o2 < o4 then
return true
end
end
--~ 对
function s.筛最大值(o1_0)
return s.历对(o1_0, s._筛最大值)
end
return s