コンストラクターで 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