作者:黄晓敏3023 | 2023-08-30 16:17
这已经困扰了我很长一段时间.
>> nil.id
(irb):2: warning: Object#id will be deprecated; use Object#object_id
=> 4
为什么nil.id会是4?(或者如果你想对弃用方面挑剔,则为nil.object_id)
1> dagvl..:
这是因为nil是语言初始化时创建的对象,并且该对象的id始终为4.
有关id恰好为4的原因的详细信息,请参阅此博客文章.
我是一名Ruby Facebook程序员,4号也是Facebook上的Mark Zuckerber ID.这导致我有史以来最奇怪的错误... ;-)
这不是我的"8"$ irb irb(主):001:0> nil.object_id => 8 irb(主):002:0> ruby 2.0.0p247(2013-06-27修订版41674)[ x86_64的-darwin13.3.0]
2> Andrew Peter..:
我一直认为这是一个很酷的复活节彩蛋:在日本,4是死亡人数.