Tag: internals

为什么在ruby2.0中object_id为true和nil?

我偶尔会遇到这个 ruby object_id分配问题然后阅读这篇讨论VALUE的精彩文章 ,并解释为什么object_id为true,nil和false就是这样。 当我发现有关object_id为true和nil的明显变化时,我一直在使用ruby2.0 object_id。 forbidden:~$ ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux] forbidden:~$ forbidden:~$ irb irb(main):001:0> true.object_id => 20 irb(main):002:0> false.object_id => 0 irb(main):003:0> nil.object_id => 8 irb(main):004:0> exit forbidden:~$ forbidden:~$ rvm use 1.9.3 Using /home/forbidden/.rvm/gems/ruby-1.9.3-p392 forbidden:~$ ruby -v ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux] forbidden:~$ forbidden:~$ irb irb(main):001:0> true.object_id => 2 […]