object_id
是奇数:为什么`Fixnum`的`object_id`是一个奇数?一个<code>Fixnum</code>的
i=0; i += 1 while i.object_id.odd?
# ^CIRB::Abort: abort then interrupt!
i # => 495394962
而似乎任何其他物体的object_id
为偶数(Bignum
包括):
{}.object_id # => 70230978908220
true.object_id # => 20
false.object_id # => 0
nil.object_id # => 8
/regexp/.object_id # => 70230978711620
:symbol.object_id # => 391528
{/regexp/mou => Struct.new(:hello)}.object_id # => 70230987100840
这是否有事可做在Ruby解释器中有一些模糊的优化?
@CarySwoveland''0.object_id'产生'1'(在我的irb会话中)。也许这与我使用的ruby版本有关。 – yeyo 2015-04-04 21:31:43
我错过了。谢谢。 – 2015-04-04 21:35:29
符号和浮动(除非可能非常大)似乎甚至有对象ID。 – 2015-04-04 21:36:17