查看: 1523|回复: 3

[已经解决] for i in 1..3 P的结果为什么不同

  [复制链接]
梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
回帖
522
发表于 2009-10-7 05:15:51 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 传说中di 于 2009-10-7 10:54 编辑
  1. for i in 1..3
  2.   print 'hello'.id, " "
  3. end
复制代码
产生结果: 537767360 537767070 537767040

为什么我用的时候结果是: 8557332  8557296 8557260
谁来解释下
梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-10-7 06:03:09 | 显示全部楼层
因为你三次循环中的 'hello' 是不同的对象(字符串在程序中每出现一次就会生成一个新的字符串对象),其对象 id 自然也不同
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-10-7 06:04:24 | 显示全部楼层
本帖最后由 紫苏 于 2009-10-7 06:07 编辑

连贴编辑
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2009-10-7 08:11:02 | 显示全部楼层
id ((<obsolete>))
__id__
object_id ((<ruby 1.7 特性>))
返回与各个对象对应的唯一的整数.但是,为某对象分配整数的具体情形并不固定.
为了应对您对id方法进行再定义,Ruby提供了别名__id__,我们推荐您在库中使用后者.另外,请不要对__id__进行再定义.
摘自Ruby手册
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部