Изменения

memoize
Строка 20: Строка 20:  
local memoized = {}
 
local memoized = {}
 
return function (...)
 
return function (...)
local args = {...}
+
local key = {...}
if not memoized [args] then
+
if not memoized [key] then
memoized [args] = func (...)
+
memoized [key] = { func (...) }
 
end
 
end
return memoized [args]
+
return unpack (memoized [key])
 
end
 
end
 
end
 
end