要約
weak reference を実現するクラスです。
WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、ポイント先のオブジェクトは GC される可能性があります。アクセスしようとしたときにオブジェクトが GC されていれば WeakRef::RefError が発生します。
delegate も参照してください。
サンプルコード
require 'weakref' foo = Object.new ref = WeakRef.new(foo) ref.some_method_of_foo
目次
- 特異メソッド
- インスタンスメソッド
継承しているメソッド
- Delegatorから継承しているメソッド
特異メソッド
- new(orig) -> WeakRef[permalink][rdoc][edit]
- 
与えられたオブジェクトを使って自身を初期化します。 - [PARAM] orig:
- 任意のオブジェクトを指定します。
 
インスタンスメソッド
- __getobj__ -> object[permalink][rdoc][edit]
- 
自身の参照先のオブジェクトを返します。 - [EXCEPTION] WeakRef::RefError:
- GC 済みのオブジェクトを参照した場合に発生します。
 [SEE_ALSO] delegate 
- __setobj__(obj) -> ()[permalink][rdoc][edit]
- 
与えられたオブジェクトを自身の参照先としてセットします。内部用のメソッドなので使わないでください。 - [PARAM] obj:
- 任意のオブジェクトを指定します。
 
- weakref_alive? -> bool[permalink][rdoc][edit]
- 
参照先のオブジェクトがまだ生きていれば真を返します。 GC されていれば偽を返します。