rails 4中的对象id为nil false true



ruby中nil、false、blank、true和Fixnums的对象id是什么?这些对象的优先级是如何加载的。

为什么它返回4?我知道它是4,但是对象id背后的逻辑是什么?

为什么nil的对象id等于4?首先,您需要知道false和true变量的工作方式与nil完全相同。它们分别是FalseClass和TrueClass的单例实例。当Ruby解释器启动时,它初始化FalseClass、TrueClass和NilClass。

结果是:

false对象id=>0

true.object_id=>2

nil.object_id=>4

1和3发生了什么?好吧,第一位只为Fixnum值(数字)保留。简单且一致。

要获取fixnum的对象id,可以按照以下公式:object_id=(n*2)+1[其中n是fixnum]

最新更新