local select = select;
local t_insert = table.insert;
local pairs = pairs;
+local next = next;
module "multitable"
if not tab then tab = {}; t[key] = tab; end
t = tab;
end
- t_insert(t, select(count, ...));
+ t_insert(t, (select(count, ...)));
end
local function r(t, n, _end, ...)
end
local k = select(n, ...);
if k then
- r(t[k], n+1, _end, ...);
+ v = t[k];
+ if v then
+ r(v, n+1, _end, ...);
+ if not next(v) then
+ t[k] = nil;
+ end
+ end
else
for _,b in pairs(t) do
r(b, n+1, _end, ...);
+ if not next(b) then
+ t[_] = nil;
+ end
end
end
end