查看: 1043|回复: 6

一个关于@@变量的问题

  [复制链接]
梦石
0
星屑
50
在线时间
18 小时
注册时间
2008-5-16
回帖
241
发表于 2008-8-23 23:43:22 | 显示全部楼层 |阅读模式

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

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

×
看跟我从头学脚本时看到了一个类的定义:
  1. class If_Statement_1
  2. @@a_class_variable=10
  3. def initialize
  4.    @@a_class_variable+=1
  5.    a_local_variable=13
  6.    if @@a_class_variable==a_local_variable
  7.      print "Yay, we are equal !"
  8.    else
  9.      print "Arg, it's not fair !"
  10.    end   
  11. end
  12. end
复制代码

然后运行这一段:
  1. If_Statement_1.new
  2. If_Statement_1.new
  3. If_Statement_1.new
  4. If_Statement_1.new
复制代码

他说第三个弹出的窗口就会是“Yay, we are equal !”
我试了一下也是这样的。
但感觉每次调动这个类时
@@a_class_variable=10
这句话都会把该变量带入10,算出来的应该永远是11才对........
谁能解释一下为什么呀?
版务信息:本贴由楼主自主结贴~
大坑在我们的心中

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
回帖
1810
发表于 2008-8-24 00:09:03 | 显示全部楼层
RM中的类都是在initialize中初始化
而这个是在initialize外初始化
其实执行.new就是在执行该类的initialize
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
不常在线,有事PM
回复

使用道具 举报

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
回帖
705
发表于 2008-8-24 00:16:44 | 显示全部楼层
@@a_class_variable=10是个静态变量吧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
18 小时
注册时间
2008-5-16
回帖
241
 楼主| 发表于 2008-8-24 00:21:09 | 显示全部楼层
静态变量?你们两个到底谁是对的我都分不清了!!
不过一楼的听着更有道理........
再来一个人评判一下啊啊啊啊!!
大坑在我们的心中
回复

使用道具 举报

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
回帖
705
发表于 2008-8-24 00:27:39 | 显示全部楼层
事实证明我的说法错误{/hx}
回复

使用道具 举报

梦石
0
星屑
50
在线时间
18 小时
注册时间
2008-5-16
回帖
241
 楼主| 发表于 2008-8-24 00:30:21 | 显示全部楼层
以下引用★_茄孓于2008-8-23 16:27:39的发言:

冰说的是对的。。
我只是说静态变量只是给予值以后不在执行了吧

哦,谢了,你也是高人!
大坑在我们的心中
回复

使用道具 举报

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
回帖
705
发表于 2008-8-24 00:34:21 | 显示全部楼层
那个抱歉哈``差点误人子弟了。
我的说法应该是错误的!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部