オブジェクトには直感に反する方法で ID が割り当てられていることに気付きました。オブジェクトの作成が早ければ早いほど、そのオブジェクト ID は大きくなります。逆ではなく、昇順で割り当てられていると思っていたでしょう。
例えば:
obj1 = Object.new
obj2 = Object.new
obj3 = Object.new
p obj1.object_id # => 4806560
p obj2.object_id # => 4806540
p obj3.object_id # => 4806520
また、Ruby インタープリターによって実行されるコードでは 1 ではなく 20 のステップがあるのに、Ruby の irb によって実行されるコードのオブジェクト ID の差が非常に大きいのはなぜですか?