次の Lua メタテーブル クラスがあります。デストラクタを追加して、特定の条件が発生したときに、作成されたオブジェクトを破棄し、その値を nil に設定するにはどうすればよいですか?
-------------------------------------------------
-- Arrow class
-------------------------------------------------
local arrow = {}
local arrow_mt = { __index = arrow } -- metatable
function arrow.new(x, y) -- constructor
local newArrow = {
position = { x = x, y = y }
}
return setmetatable( newArrow, arrow_mt )
end
function arrow:remove()
-- remove the object here
-- self = nil dosent work
end