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

instance method BasicObject#__id__

__id__ -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対してどのような整数が割り当てられるかは不定です。

Object#object_id と同じですが、#object_id は BasicObject にはない事に注意してください。

# frozen_string_literal: false
obj = Object.new
p obj.object_id == obj.__id__            # => true
p Object.new.__id__  == Object.new.__id__  # => false
p (21 * 2).__id__    == (21 * 2).__id__  # => true
p "hello".__id__     == "hello".__id__   # => false
p "hi".freeze.__id__ == "hi".freeze.__id__ # => true

[SEE_ALSO] Object#object_id, [ruby-dev:42840]