查看: 1650|回复: 4

[已经解决] @变量是什么变量

[复制链接]
梦石
0
星屑
155
在线时间
0 小时
注册时间
2010-10-22
回帖
1
发表于 2012-2-8 21:04:42 | 显示全部楼层 |阅读模式

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

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

×
大写字母开头的是常量
小写字母开头的是局部变量
$开头的全局变量
那@开头的是什么变量啊?
梦石
0
星屑
50
在线时间
57 小时
注册时间
2009-7-9
回帖
100
发表于 2012-2-8 21:13:27 | 显示全部楼层
@a 在整个class里通用,顺序按代码。
def initialize
@a = 1
a = 1
end

def update
a += 1     #错误
@a += 1   #累计加1
end
回复

使用道具 举报

梦石
0
星屑
155
在线时间
0 小时
注册时间
2010-10-22
回帖
1
 楼主| 发表于 2012-2-8 21:18:04 | 显示全部楼层
awyb3110 发表于 2012-2-8 21:13
@a 在整个class里通用,顺序按代码。
def initialize
@a = 1

知道了 3Q

点评

知道了,就给分嘛  发表于 2012-2-8 21:27
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2012-2-8 21:50:57 | 显示全部楼层
@开头的是实变量,是指在一个类的对象实例中可以自由使用的一种变量。
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2012-2-8 22:27:18 | 显示全部楼层
本帖最后由 zhangbanxian 于 2012-2-8 22:29 编辑

- -b其实确切的讲是instance里通用
class A
@@a = 1
def initialize
@a = 1
end
def update
@a += 1   
@@a += 1
end
end

a = A.new             @a =>1 @@a =>1
a.update               @a =>2 @@a =>2
b = A.new            @a =>1 @@a =>2
b.update               @a =>2 @@a =>3
好歹当年也当过大魔王过,orz
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部