在每个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