设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1497|回复: 4
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
155
在线时间
0 小时
注册时间
2010-10-22
帖子
2
跳转到指定楼层
1
发表于 2012-2-8 21:04:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大写字母开头的是常量
小写字母开头的是局部变量
$开头的全局变量
那@开头的是什么变量啊?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
57 小时
注册时间
2009-7-9
帖子
124
2
发表于 2012-2-8 21:13:27 | 只看该作者
@a 在整个class里通用,顺序按代码。
def initialize
@a = 1
a = 1
end

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

使用道具 举报

Lv1.梦旅人

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

知道了 3Q

点评

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
5
发表于 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
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-28 06:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表