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