Project1

标题: for i in 1..3 P的结果为什么不同 [打印本页]

作者: 传说中di    时间: 2009-10-7 05:15
标题: for i in 1..3 P的结果为什么不同
本帖最后由 传说中di 于 2009-10-7 10:54 编辑
  1. for i in 1..3
  2.   print 'hello'.id, " "
  3. end
复制代码
产生结果: 537767360 537767070 537767040

为什么我用的时候结果是: 8557332  8557296 8557260
谁来解释下
作者: 紫苏    时间: 2009-10-7 06:03
因为你三次循环中的 'hello' 是不同的对象(字符串在程序中每出现一次就会生成一个新的字符串对象),其对象 id 自然也不同
作者: 紫苏    时间: 2009-10-7 06:04
本帖最后由 紫苏 于 2009-10-7 06:07 编辑

连贴编辑
作者: IamI    时间: 2009-10-7 08:11
id ((<obsolete>))
__id__
object_id ((<ruby 1.7 特性>))
返回与各个对象对应的唯一的整数.但是,为某对象分配整数的具体情形并不固定.
为了应对您对id方法进行再定义,Ruby提供了别名__id__,我们推荐您在库中使用后者.另外,请不要对__id__进行再定义.
摘自Ruby手册




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1