Content deleted Content added
Artoria2e5 (talk | contribs) make sure we clear the sad memory in "all the way nil" case |
Plastikspork (talk | contribs) m Plastikspork moved page Module:Arguments/Fallback to Module:Sandbox/Artoria2e5/Fallback without leaving a redirect: Per user request |
||
(2 intermediate revisions by one other user not shown) | |||
Line 8:
-- Forget about thread-safety.
-- States kept to avoid strange loops.
local referencedKeys = {} -- dataType:Set/hashtable-impl
local attemptDepth = 0 -- useful for "last nil" case
Line 58 ⟶ 59:
return makeFallback
--[[
P.S. Don't blame me for writing these obj-states. Sure, we can use an
accumulator and do some "index with acc" ourselves, but that sounds like too
much work done just to avoid states.
Here is that custom index function in case anyone is curious about it:
function index_w_acc(t, k, acc)
local v = rawget(t, k)
if v ~= nil
return v
else
return getmetatable(t).__index(k, acc)
end
end
My guess is that it will certainly be slower than the native t[k] one. Perhaps
not getting the metatable every time will help a bit.
]]--
|