我不明白为什么&= 39;属性='初始化内部应该有自己的前缀。
'名称'方法不需要使用前缀self来调用'属性'方法
class A
attr_accessor :attributes
def initialize attrs ={}
self.attributes = attrs
end
def name
puts attributes
end
end
a = {"name" => "someone"}
b = A.new a
b.name
输出{"名称" => "有人"}
如果self.attributes = attrs
更改为attributes = attrs
输出将为零
答案 0 :(得分:1)
如果您使用attributes = attrs
,则只需将attrs
分配给本地变量attributes
,就像将attrs
分配给some_other_var
一样。通过在attributes
前加self.
,您可以指定需要使用访问者。