Project1
标题:
一个关于@@变量的问题
[打印本页]
作者:
地狱的蓝炎
时间:
2008-8-23 23:43
标题:
一个关于@@变量的问题
看跟我从头学脚本时看到了一个类的定义:
class If_Statement_1
@@a_class_variable=10
def initialize
@@a_class_variable+=1
a_local_variable=13
if @@a_class_variable==a_local_variable
print "Yay, we are equal !"
else
print "Arg, it's not fair !"
end
end
end
复制代码
然后运行这一段:
If_Statement_1.new
If_Statement_1.new
If_Statement_1.new
If_Statement_1.new
复制代码
他说第三个弹出的窗口就会是“Yay, we are equal !”
我试了一下也是这样的。
但感觉每次调动这个类时
@@a_class_variable=10
这句话都会把该变量带入10,算出来的应该永远是11才对........
谁能解释一下为什么呀? [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
凌冰
时间:
2008-8-24 00:09
RM中的类都是在initialize中初始化
而这个是在initialize外初始化
其实执行.new就是在执行该类的initialize [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
★_茄孓
时间:
2008-8-24 00:16
@@a_class_variable=10是个静态变量吧
作者:
地狱的蓝炎
时间:
2008-8-24 00:21
静态变量?你们两个到底谁是对的我都分不清了!!
不过一楼的听着更有道理........
再来一个人评判一下啊啊啊啊!!
作者:
★_茄孓
时间:
2008-8-24 00:27
事实证明我的说法错误{/hx}
作者:
地狱的蓝炎
时间:
2008-8-24 00:30
以下引用
★_茄孓于2008-8-23 16:27:39
的发言:
冰说的是对的。。
我只是说静态变量只是给予值以后不在执行了吧
哦,谢了,你也是高人!
作者:
★_茄孓
时间:
2008-8-24 00:34
那个抱歉哈``差点误人子弟了。
我的说法应该是错误的!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1