当前位置:  开发笔记 > 后端 > 正文

在Ruby中为什么nil.id返回4?

如何解决《在Ruby中为什么nil.id返回4?》经验,为你挑选了2个好方法。

这已经困扰了我很长一段时间.

>> 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是死亡人数.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有