之前初看时一直没搞明白这玩意是干啥的,今天突然有点理解了,更新下,先看例子就能明白,同样的道理也能明白attr_reader,attr_writer
class Test
attr_accessor :name
def initialize(name)
@name = name
end
def say
p name
end
end
test = Test.new('andy')
test.name= 'jack'
test.say # "jack"
# attr_accessor等同于创造了两个方法
class Test
def initialize(name)
@name = name
end
def name
@name
end
def name=(name)
@name = name
end
def say
p name
end
end
test = Test.new('andy')
test.name = 'jack'
test.say # 'jack'