Я сейчас пытаюсь сделать ООП в Луа.Из того, что я понял здесь , экземпляр класса и даже class (переменная) являются ссылкой на различные биты и бобыкласс сохраняется, поэтому, если у меня есть метод: destroy (), состоящий из
function class:destroy()
self = nil
end
, когда я вызываю instance:destroy()
, ссылка instance должна быть подхвачена мусором сборщик и практически экземпляр как в объекте пропал.
Он не выдаст ошибку или не вызовет медленную утечку памяти, верно?
РЕДАКТИРОВАТЬ: Я подумал, что, возможно, я должен включить следующее:
Это метод, который я использую для создания и экземпляра
function class:new(obj)
obj = obj or {}
setmetatable(o,self)
self.__index = self
return o
end