以下引用美兽于2007-12-18 23:22:20的发言:
以下引用bbschat于2007-12-18 23:06:42的发言:
给对象属性赋值的方法。
可以用 attr_writer:对象属性名 代替
实际attr_writer:与def 方法名=(***)
有很多区别。
以下引用美兽于2007-12-18 23:36:38的发言:
呵呵,我的意思并非是定义内容,
而是访问顺序,权限和继承的一些区别。
有吗?我倒不知道,请教一下美兽,具体的区别是啥?
以下引用美兽于2007-12-19 0:27:49的发言:
具体
class S1
attr_reader :name
end
class S2
def name=(n)
@name = n
end
end
s1 = S1.new
s1.name = 10 #出错
s2 = S2.new
s2.name = 10 #正常
以下引用bbschat于2007-12-19 0:43:49的发言:
ps:
attr_ reader :motherland
和
def motherland
return @motherland
end
是等价的。
attr_accessor :motherland
相当于
attr_reader:motherland
attr_writer :motherland
[本贴由作者于 2007-12-19 0:47:07 最后编辑]
| 欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |