如何解决Lua中的建设者与破坏者?
我是Lua的新手,通过将它们与其他编程语言(例如Python和Java)进行比较来学习一些概念。我知道Java和python都有构造函数和析构函数。但是我没有找到用纯Lua编写的代码。我已经看到一些使用C / C ++和Lua进行构造的示例,但是有没有办法仅用Lua语言来构造和构造析构函数?
解决方法
构造函数是创建对象并返回对象的任何函数。要定义析构函数,您需要一个带有__gc
metamethod的元表。 __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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。