_id2ref(id) -> object[permalink][rdoc][edit]-
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
このメソッドは Ruby 4.0 から deprecated です。Warning[:deprecated] が真のとき「ObjectSpace._id2ref is deprecated」という警告を出力します。将来のバージョンでは削除される予定です。
オブジェクト ID からオブジェクトを引く必要がある場合は、Object#object_id をキーとして ObjectSpace::WeakMap にオブジェクトを保持しておく方法があります。
map = ObjectSpace::WeakMap.new a = "hoge" map[a.object_id] = a p map[a.object_id] # => "hoge"- [PARAM]
id: - 取得したいオブジェクトの ID を整数で指定します。
- [EXCEPTION]
RangeError: - 対応するオブジェクトが存在しなければ発生します。
a = "hoge" p ObjectSpace._id2ref(a.__id__) #=> "hoge" - [PARAM]