Lua 垃圾收集器-__gc元方法

示例

5.2

lua中的对象被垃圾收集。有时,您需要释放一些资源,打印消息或在销毁(收集)对象时执行其他操作。为此,您可以使用元__gc方法,当对象被销毁时,该元方法将以对象作为参数进行调用。您可能会将此元方法视为一种析构函数。

此示例显示了__gc运行中的元方法。当分配给的内部表t被垃圾收集时,它将在被收集之前打印一条消息。同样,对于到达脚本末尾的外部表:

local meta =

{

    __gc = function(self)

        print("破坏自我: " .. self.name)

    end

}

local t = setmetatable({ name = "outer" }, meta)

do

    local t = { name = "inner" }

    setmetatable(t, meta)

end

以上是 Lua 垃圾收集器-__gc元方法 的全部内容, 来源链接: utcz.com/z/347071.html

回到顶部