如何跟踪何时初始化变量并最终破坏



大概我有一个实例var @foo

它设置在def initialize内部,以便我可以在初始化时跟踪它。

但是,我还需要跟踪何时被销毁。

为此有一些"钩子"吗?就像method_definedincluded?

类似instance_variable_destroyed foo

您基本上是挂垃圾收集器。您需要使用define_finalizer。

define_finalizer(@foo, proc {|id| puts "Destroyed #{id}"})

最新更新