在每個Ruby程序Symbol
中:x(其中x是允許用作Symbol
的名稱的任何字符序列)具有相同的object_id
。鍵(和一些其他對象)的object_id總是相同的。這是爲什麼?
同樣的事情與假/真/無。
我想知道 - 爲什麼?這是否意味着每次Ruby在代碼執行之前初始化所有這些對象(如false/true/nil)? < --- 已經在這裏回答:約Symbols
How does object_id assignment work?
什麼?這些初始化嗎?數百萬種可能的組合?它們的.object_id在程序之間怎麼可能是相同的。
我想一個更好的問題是。 「Ruby用來計算對象的'object_id'的方法是什麼?」不用說,如果每次運行Ruby時,特定對象的'object_id'都會發生變化,這是因爲某些事情正在發生變化。由於沒有任何更改,您可以在同一個平臺上爲特定對象指定相同的object_id。 – yeyo 2015-04-05 16:13:10
從這個角度來看,我沒有接近問題!不錯的提示:) – 2015-04-05 16:17:02
http://stackoverflow.com/questions/3430280/how-does-object-id-assignment-work – 2015-04-05 17:33:03