0

私のルビークラスでは、多くの変数を持つユーザー定義クラスを作成する必要があります。これまでのところ、ギターに関連するクラスを作成しましたが、コードを自分でしばらく調べましたが、52行目/クラスをテストするために例を印刷しようとするとエラーが発生する理由がわかりません

# Guitar
# Source code in /classes/person.rb

# Guitar class with instance variables @name, @brand, @type @strings and
# method take_strings.

class Guitar

  # initialize method is called when user invokes Guitar.new.
  def initialize(the_name, the_brand, the_type, the_strings)
    @name = the_name
    @brand = the_brand
    @type = the_type
    @strings = the_strings
  end

  # Define getters.
  def name
    return @name
  end

  def brand
    return @brand
  end

  def type
    return @type

  def strings
    return @strings
  end
.
  def strings=(value)
    @strings = value
  end

  def to_s
    return "#{name}; #{brand}; #{type}; #{strings}."
  end

end


guitars = [ ]

guitars << Guitar.new("Stratocaster", "Fender", "Solid Body", 6)
guitars << Guitar.new("Les Paul", "Gibson", "Solid Body", 6)
guitars << Guitar.new("White Falcon", "Gretsch", "Semi-Hollow, 6)

# Print all guitars
guitars.each do |g|
  print g, "\n"
end
4

1 に答える 1

3

ここでいくつかのことが起こっています:

  • 26 行目では、メソッドendに forがありませんdef type
  • 32 行目では、ソース ファイルにピリオドがあります。これは解析されず、問題が発生します。
  • 49 行目では、次の後の終了引用符を省略しています。Semi-Hollow
于 2012-11-03T22:12:13.280 に答える