8
Lua 5.2(与5.1相反)支持表__gc。LuaJIT是否支持表__gc?
LuaJIT有借用这个不错的功能吗?
(我做了谷歌搜索,并检查LuaJIT的Change History但想不出答案。)
Lua 5.2(与5.1相反)支持表__gc。LuaJIT是否支持表__gc?
LuaJIT有借用这个不错的功能吗?
(我做了谷歌搜索,并检查LuaJIT的Change History但想不出答案。)
试试看:
-- 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
$
所以简短的回答是否定的。
LuaJIT可能在关机时不会打扰运行GC循环。更长,更重的分配脚本可能是更好的测试。 – delnan
@delnan这不是发生了什么,但我编辑了我的答案,使其明确(调用'collectgarbage'两次确保所有终结器被调用)。 – catwell
感谢您解决它。 – delnan