Ho notato che gli oggetti hanno i loro ID assegnati in modo poco intuitivo. Prima viene creato un oggetto, maggiore è l'ID dell'oggetto. Avrei pensato che sarebbero stati assegnati in ordine crescente, piuttosto che il contrario.Perché Ruby tende ad assegnare gli ID oggetto in ordine decrescente?
Ad esempio:
obj1 = Object.new
obj2 = Object.new
obj3 = Object.new
p obj1.object_id # => 4806560
p obj2.object_id # => 4806540
p obj3.object_id # => 4806520
Perché sono assegnati in modo tale e anche perché c'è una fase di 20, invece di 1 nel codice gestito dall'interprete Ruby, ma di gran lunga più grande differenza tra oggetto ID per il codice eseguito da Ruby's irb?
'object_id' è solo un numero intero che identifica univocamente un oggetto, qualsiasi ordine particolare che pensi di vedere è puramente un artefatto di implementazione. –
@theTinMan Shaving Yak? No, sto cercando di soddisfare una curiosità. – Matty