Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ObjectSpaceモジュール > undefine_finalizer

module function ObjectSpace.#undefine_finalizer

undefine_finalizer(obj) -> object[permalink][rdoc]

obj に対するファイナライザをすべて解除します。 obj を返します。

[PARAM] obj:
ファイナライザを解除したいオブジェクトを指定します。


class Sample
  def Sample.callback
    proc {
      puts "finalize"
    }
  end

  def initialize
    ObjectSpace.define_finalizer(self, Sample.callback)
  end

  def undef
    ObjectSpace.undefine_finalizer(self)
  end
end

Sample.new
GC.start
# => finalize

Sample.new
sample.undef
GC.start
# ※何も出力されない

[SEE_ALSO] ObjectSpace.#define_finalizer