当我@foo=3在initialize方法中定义时,我希望像这样访问我的变量.
class Object
def initialize(v)
@foo = v
end
Object.new.foo
Run Code Online (Sandbox Code Playgroud)
但这不会发生.我需要写attr_accessor :foo.为什么我需要这样做,即使@已经为我做了这个?
Ruby中的一个实例变量默认不公开.并且应该基于访问者授予访问权限.
对于只读仅attr_reader
用于写入attr_writer
用于读写attr_accessor
默认情况下无法访问它
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |