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

class WeakRef

クラス・モジュールの継承リスト: WeakRef < Delegator < Object < Kernel < BasicObject

要約

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 されていれば偽を返します。

継承したメソッド

__id__ __send__ instance_eval instance_exec singleton_method_added singleton_method_removed singleton_method_undefined ! != == freeze marshal_dump marshal_load method_missing methods protected_methods public_methods respond_to? respond_to_missing? !~ <=> === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself method nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods psych_to_yaml public_method public_send remove_instance_variable send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE