水晶 - 类破坏的方法

时间:2017-10-15 16:20:25

标签: database destroy crystal-lang

是否有一个在销毁时调用的类方法?

在课堂上使用new时,系统会调用initialize方法,是否有destroy个等效方法?
当不再使用类时,我需要确保数据库正确关闭(程序在数据库关闭后继续运行)。

1 个答案:

答案 0 :(得分:5)

Object#finalize,但是通常只需要这样的析构函数来进行低级抽象,例如从C库中释放资源。对于普通的应用程序或库代码,我认为这是代码味道,通常有更好的解决方案。

如果数据库连接仅用于特定交互,则最好手动打开和关闭(可能包含在块中)连接,而不是依赖于GC析构函数挂钩。