赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 10 |
经验 | 8174 |
最后登录 | 2024-3-9 |
在线时间 | 180 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 995
- 在线时间
- 180 小时
- 注册时间
- 2013-2-16
- 帖子
- 176
|
8楼
发表于 2013-8-17 09:49:41
手机端发表。
|
只看该作者
本帖最后由 clear仔 于 2013-8-17 09:50 编辑
给个例子:
class A
attr_accessor:b#定义实例变量
def initialize#初始化
@a=1
@b=0
end
def add(@a,@b)
@b-=@a
end
end
c=A.new
d=A.new
d.b=5
这样c就是A的实例,则c就有变量b却没有a(或者说c的b就是初始化的0,c的a是nil,因为没有定义),且d也是A的实例,但是这时候c的b(0)却不等于d的b(5),它们就是实例变量,所以就同名却不同值,但它们都没有a(nil),所以不用类方法定义a,@a仅仅只是实变量,和全局变量差不多的性质:它是在这个类中都可以用的变量。
至于返回调用,参考4的原因,应该就是判定然后调用某个方法。(我也是头一回听返回调用)
5那个你仅仅只给变量,连什么类都不说的话,真没办法…… |
|