Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > weakrefライブラリ > WeakRefクラス

class WeakRef

クラスの継承リスト: WeakRef < Delegator < Object < Kernel

要約

weak reference を実現するクラスです。

WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、 ポイント先のオブジェクトは GC される可能性があります。 アクセスしようとしたときにオブジェクトが GC されていれば WeakRef::RefError が発生します。

delegate も参照してください。

サンプルコード

require 'weakref'

foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo

特異メソッド

定義 説明
new(orig) -> WeakRef

与えられたオブジェクトを使って自身を初期化します。

インスタンスメソッド

定義 説明
__getobj__ -> object

自身の参照先のオブジェクトを返します。

__setobj__(obj)

与えられたオブジェクトを自身の参照先としてセットします。

weakref_alive? -> bool

参照先のオブジェクトがまだ生きていれば真を返します。 GC されていれば偽を返します。

継承したメソッド

marshal_dump marshal_load method_missing respond_to? ::IgnoreBacktracePat == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint