我注意到對象的ID是以違反直覺的方式分配的。對象創建越早,對象ID就越大。我原以爲他們會按升序分配,而不是相反。爲什麼Ruby傾向於按降序分配對象ID?
例如:
obj1 = Object.new
obj2 = Object.new
obj3 = Object.new
p obj1.object_id # => 4806560
p obj2.object_id # => 4806540
p obj3.object_id # => 4806520
他們爲什麼以這樣的方式分配,並且也爲什麼有由Ruby解釋運行20的碼的步驟,而不是1,而是對象之間的大得多的差Ruby的irb運行的代碼的ID?
'object_id'僅僅是唯一地標識對象的一個整數,您認爲您看到的任何特定順序純粹是一個實現工件。 –
@theTinMan刮犛牛?不,我正在努力滿足好奇心。 – Matty