无法访问实例变量语法错误,意外':',期待关键字_end

时间:2017-03-09 17:00:08

标签: ruby-on-rails ruby

我似乎不明白为什么如果它们没有初始化,我无法访问实例变量。当我将实例变量添加到attr_accessor时,我收到以下错误。

syntax error, unexpected ':', expecting keyword_end (SyntaxError)
attr_reader :name :list

我可以访问name和age的属性方法,但不能访问其他属性方法。这是我的代码。

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_accessorattr_reader :list :partner,则会给我一个错误。

2 个答案:

答案 0 :(得分:3)

逗号:

#                 ⇓
attr_accessor :age, :list 

答案 1 :(得分:1)

您错过了,

attr_accessor :age, :list