Feste Objekt-Id für System-Objekte und Kleine ganze zahlen in Ruby
Warum system-Objekte wie null, true oder false haben eine Feste Objekt-id in Ruby. Auch ich habe versucht, drucken Sie die Objekt-ids der zahlen, Sie sind die gleichen, und Folgen Sie eine ungerade Anzahl Sequenz-Muster. Keine Erklärung für dieses?
[nil,true,false].each { |o| print o.object_id, ' '}
4 2 0 => [nil, true, false]
>> (0..50).each { |i| print i.object_id, ' ' }
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 => 0..50
- mögliche Duplikate von Ruby - wie funktioniert object_id Zuordnung arbeiten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den beiden folgenden links erklären das Konzept hinter Ruby Objekt-IDs:
http://www.oreillynet.com/ruby/blog/2006/01/the_ruby_value_1.html
http://www.oreillynet.com/ruby/blog/2006/02/ruby_values_and_object_ids.html
Die Objekt-ID berechnet sich aus den Objekten Wert plus einige zusätzliche Informationen. Aus dieser Berechnung können Sie die Ableitung der Werte, die Sie sehen in Ihrem Beispiele.