0

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

3 に答える 3

1

finalizer マニュアルで探してください。

于 2013-04-27T21:32:14.583 に答える