Ruby 4.0 リファレンスマニュアル

module function ObjectSpace?._id2ref

_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"