История изменений
Исправление makoven, (текущая версия) :
mt - это метатаблица. Функция __gc запустится перед сборкой мусора на объекте, на котором установлена эта метатаблица
local o = setmetatable({}, mt) - устанавливает метатаблицу mt объекту {} и возвращает этот объект прямо в переменную «o»
o = {} - присваиваем новое значение «o». Старое значение больше недоступно в области видимости, а значит подлежит уничтожению сборщиком мусора
Дальше сидим и ждем когда придет уборщица
Исправление makoven, :
mt - это метатаблица. Функция __gc запустится перед сборкой мусора на объекте, на котором установлена эта метатаблица
local o = setmetatable({}, mt) - устанавливает метатаблицу mt объекту {} и возвращает этот объект прямо в переменную «o»
o = {} - присваиваем новое значение «o». Старое значение больше недоступно в области видимости, а значит подлежит уничтожению сборщиком мусора
Исправление makoven, :
mt - это метатаблица. функция __gc запустится перед сборкой мусора на объекте, на котором установлена эта метатаблица
local o = setmetatable({}, mt) - устанавливает метатаблицу mt объекту {} и возвращает этот объект прямо в переменную «o»
o = {} - присваиваем новое значение «o». Старое значение больше недоступно в области видимости, а значит подлежит уничтожению сборщиком мусора
Исходная версия makoven, :
mt - это метатаблица, функция __gc запустится перед сборкой мусора на объекте с этой метатаблицей
local o = setmetatable({}, mt) - устанавливает метатаблицу mt объекту {} и возвращает этот объект прямо в переменную «o»
o = {} - присваиваем новое значение «o». Старое значение больше недоступно в области видимости, а значит подлежит уничтожению сборщиком мусора