Lua 5.2 (in contrast to 5.1) supports __gc for tables.
Has LuaJIT borrowed this nice feature?
(I did a google search, and examined LuaJIT's Change History but couldn't figure out the answer.)
Lua 5.2 (in contrast to 5.1) supports __gc for tables.
Has LuaJIT borrowed this nice feature?
(I did a google search, and examined LuaJIT's Change History but couldn't figure out the answer.)
Just try it:
-- test.lua
do
local x = setmetatable({},{
__gc = function() print("works") end
})
end
collectgarbage("collect")
collectgarbage("collect")
.
$ lua51 -v
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
$ lua51 test.lua
$ lua52 -v
Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
$ lua52 test.lua
works
$ luajit -v
LuaJIT 2.0.2 -- Copyright (C) 2005-2013 Mike Pall. http://luajit.org/
$ luajit test.lua
$
So the short answer is no.
collectgarbage
twice ensures all finalizers are called). –
Eros © 2022 - 2024 — McMap. All rights reserved.