我似乎不明白为什么我不能访问实例变量,如果他们没有初始化。当我将实例变量添加到attr_accessor时,出现以下错误。无法访问实例变量语法错误,意外的':',期待keyword_end
syntax error, unexpected ':', expecting keyword_end (SyntaxError)
attr_reader :name :list
我能够访问名称和年龄的属性方法,但没有其他的。这是我的代码。
class Dancer
attr_reader :name
attr_accessor :age :list
def initialize(name, age)
@name = name
@age = age
@list = []
end
def pirouette
"*twirls*"
end
def bow
"*bows*"
end
def queue_dance_with(partner)
@partner = partner
end
def card
@list << @partner
end
def begin_next_dance
puts "Now dancing with #{@list[0]}"
@list.shift
end
end
为什么我不能访问@partner
和@list
?如果我将它们添加到attr_accessor
或attr_reader :list :partner
它给我一个错误。
这是一个纯Ruby的问题,因此不应该有一个Rails标签。 –