卢阿的建设者和破坏者



我是Lua的新手,通过将它们与Python和Java等其他编程语言进行比较来学习一些概念。我知道Java和python都有构造函数和析构函数。但我没有找到一个是用纯鲁文写的。我已经看到一些使用C/C++和Lua作为构造函数的例子,但有没有办法只用Lua语言来生成构造函数和析构函数?

构造函数是任何创建并返回对象的函数。要定义析构函数,需要一个带有__gc元方法的元表。__gc元方法将在对象被垃圾回收时或在程序结束时调用。
local mt = {
  -- Destructor
  __gc = function(self)
    print('Garbage-collecting ' .. self.name)
  end,
}
-- Constructor
local function newObject(name)
  local o = {name = name}
  setmetatable(o, mt)
  return o
end

最新更新