赞 | 0 |
VIP | 10 |
好人卡 | 49 |
积分 | 10 |
经验 | 22958 |
最后登录 | 2020-8-1 |
在线时间 | 2161 小时 |
Lv3.寻梦者 酱油的
- 梦石
- 0
- 星屑
- 975
- 在线时间
- 2161 小时
- 注册时间
- 2007-12-22
- 帖子
- 3271
|
class Person
def name
# 通過 .name 方法去讀取本類的 @name 屬性
return @name
end
def read
return @name
end
def name=(val)
# 通過 name= 方法去改寫本類的 @name 值
# ( )當中的只是一個參數,用來傳遞數值用的,不要被名字迷惑
@name = val
p 'now you are using name=( ) method '
end
def write=(a)
@name = a
end
end
person = Person.new
p person.@name #=>Error ! Undefined method '@name' for Person
p person.name #=> nil
p person.read #=> nil
p person.name = 100 #=> 100, 'now you are using name=( ) method '
p person.name #=> 100
p person.read #=> 100
p person.write = 200 #=> 200
p person.name #=> 200
p person.read #=> 200
不過...其實
.instance_variable_get('@name')
.instance_variable_set('@name'. 'orz')
會比較快 = = 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|