我是铁杆新手,最近一直想知道以下内容:“
十六进制值(例如0x98438b8
)在
undefined local variable or method "company_id" for #<Task:0x98438b8>
这对调试有什么用?
答案 0 :(得分:6)
在MRI上(Matz的Ruby解释器 - Ruby的标准实现),它是底层内存地址的值,它与object_id紧密相连。确切的关系取决于平台 - 在我的机器上它是对象id see source的两倍。其他实现(jruby,mruby,rubinius)可能会以不同的方式实现这一点。
在这种特殊情况下,它并没有特别有用。在其他情况下,知道这是Task的实例是完全相同的对象,因为一些先前的值可能是有用的。