object_id
对于某些对象,我似乎得到了负值。它是否正确?如果是这样,红宝石对象何时是object_id
负数?
问问题
400 次
2 回答
2
https://github.com/ruby/ruby/blob/ruby_1_9_3/gc.c#L3171应该完整地回答您的问题,技术细节,但最终因为对象指针以各种方式修改,然后作为签名返回整数。
于 2012-01-30T08:12:04.380 回答
1
整数有奇数的object_id,其他对象使用偶数的object_id。为此,负整数具有(奇数)负 object_id - 其他地方没有空间。偶数负的 object_id 可以自由地用于其他对象。
于 2012-01-30T08:15:17.520 回答