浏览 6008 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-11
class Test2 attr_accessor :a, :b def initialize() @a = 10 @b = 20 end end t2 = Test2.new puts t2.a puts t2.b 在上面这段代码中,如果我将attr_accessor换成attr则 puts t2.b将报错 但如果将 attr_accessor :a, :b 写成 attr :a attr :b 就能正常输出 如果写成 attr_reader :a, :b 也是一切正常 请问attr,attr_reader,attr_writer,attr_accessor的区别是什么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-11
这种问题应该自己看书或查阅库文档。
attr_accessor 一举两得: 同时兼备 attr_reader attr_writer 的作用。 attr 只能带一个符号参数, 第二个参数是一个 bool 参数,用于指示是否为头一个符号参数产生写方法。它的默认值是 false , 不产生写方法。 |
|
返回顶楼 | |
发表时间:2007-04-29
attr_accessor
和attr_accessible有什么区别啊? |
|
返回顶楼 | |