我有一个在其构造函数中打开 sqlite 数据库的类。有没有办法让它在被销毁时关闭数据库(无论是由于程序员销毁它还是通过 Lua 的垃圾收集被销毁)?
到目前为止的代码:
local MyClass = {}
local myClass_mt= {__index=MyClass, __gc=__del}
function DBHandler.__init()
-- constructor
local newMyClass = {
db = sqlite3.open(dbPath)
}
return setmetatable(newMyClass , myClass_mt)
end
local function __del()
self.db.close()
end