如何覆盖 luabind 类__finalize方法?
尝试以这种方式执行此操作:
class A
function A:__init()
end
function A:__finalize()
end
local original_finalize_function = A.__finalize
A.__finalize = function(...)
-- some custom logic
if original_finalize_function then
original_finalize_function(unpack(arg))
end
end
local a = A
a = nil
collectgarbage('collect')
但是 lua 仍然只调用原始终结器。但是它确实适用于 __init 方法:
local original_init_function = A.__init
A.__init = function(...)
if original_init_function then
original_init_function(unpack(arg))
end
end
我还尝试覆盖 getmetatable(A).__finilize。也无济于事。
我怎样才能覆盖它?提前致谢。