Ruby中的存取器(类似其他语言中的getter and setter)
存取器帮我们简化存取器的定义,如果没有这样的语法,我们要这样来定义:
class Hello
def name
@name
end
def name=(value)
@name = value
end
end
当有了如下的存取器之后:
定义 | 意义 |
---|---|
attr_reader :name | 只读(定义name方法) |
attr_writer :name | 只写(定义name=方法) |
attr_accessor :name | 读写(定义以上2个方法) |
就可以直接用一句话代替上面的2个方法:
class Hello
attr_accessor :name
end