class BookInStock
attr_reader :isbn, :price
def initialize(isbn, price)
@isbn = isbn
@price = Float(price)
end
“这是我们第一次在本章中使用符号。正如我们所讨论的,符号只是引用名称的一种便捷方式。在这段代码中,你可以想到:isbn的意思是名字isbn,并且认为plain isbn意思是变量的值。在这个例子中,我们命名访问器方法isbn和price。相应的实例变量是@isbn和@price。 “局部变量,实例变量和符号之间的混淆
问题:我知道局部变量被分配了实例变量,所以当initialize方法返回时它们不会消失。但为什么我必须使用attr_accessor符号?如果我只想要普通变量呢?我注意到,删除冒号:isbn和:attr_accessor中的price会导致它停止工作。