如何跟踪变量初始化和最终销毁的时间

时间:2012-10-30 12:37:02

标签: ruby

据推测,我有一个实例var @foo

它设置在def initialize内,因此我可以跟踪它何时被初始化。

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

这有什么“挂钩”吗?就像method_definedincluded?

一样

instance_variable_destroyed foo

之类的东西

1 个答案:

答案 0 :(得分:1)

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

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