LuaJIT是否支持表__gc的特性,能否详细解释其背后的机制和用途?
- 内容介绍
- 文章标签
- 相关推荐
本文共计195个文字,预计阅读时间需要1分钟。
Lua 5.2(与5.1相对)支持表的`__gc`属性。LuaJIT是否使用了这个功能?(我在谷歌搜索了,并检查了LuaJIT的Change History,但未能找到答案。)试试看吧:--test.luado local x=setmetatable({}, {__gc=func})
Lua 5.2(与5.1相反)支持表的__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. luajit.org/ $luajit test.lua $
所以简短的回答是否定的.
本文共计195个文字,预计阅读时间需要1分钟。
Lua 5.2(与5.1相对)支持表的`__gc`属性。LuaJIT是否使用了这个功能?(我在谷歌搜索了,并检查了LuaJIT的Change History,但未能找到答案。)试试看吧:--test.luado local x=setmetatable({}, {__gc=func})
Lua 5.2(与5.1相反)支持表的__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. luajit.org/ $luajit test.lua $
所以简短的回答是否定的.

