【发布时间】:2013-11-23 03:05:53
【问题描述】:
class BookInStock
attr_reader :isbn, :price
def initialize(isbn, price)
@isbn = isbn
@price = Float(price)
end
“这是我们在本章中第一次使用符号。正如我们所讨论的,符号只是引用名称的一种方便方式。在这段代码中,您可以将:isbn视为名称isbn,并将普通isbn视为变量的值。在此示例中,我们将访问器方法命名为isbn和price。对应的实例变量是@isbn和@price。 ”
问题: 我知道局部变量是被赋值为实例变量的,所以当initialize方法返回时它们不会消失。但是为什么我必须在 attr_accessor 中使用符号呢?如果我只想要普通变量怎么办?我注意到在 attr_accessor 中删除 :isbn 和 :price 的冒号会导致它停止工作。
【问题讨论】:
标签: ruby attr-accessor