0

これは私のコードです:

class Person
  def initialize(first_name, last_name, age)
    @first_name = first_name
    @last_name = last_name
    @age = age
  end

  def first_name
    puts @first_name
  end

  def last_name
    puts @last_name
  end

  def age
    puts @age
  end
end

class Musician < Person
  def initialize(first_name, last_name, age, instrument)
    @first_name = first_name
    @last_name = last_name
    @age = age
    @instrument = instrument
  end

  def instrument
    puts @instrument
  end
end

次に、次のことをしようとすると:

m = Musician.new("George", "Harrison", 58, "guitar")
m.first_name + " " + m.last_name + ": " + m.age.to_s

エラーが発生します:

in <main>': undefined method+' for nil:NilClass (NoMethodError)

オブジェクト メソッドの結果を連結できないのはなぜですか?

4

1 に答える 1

3

すべてのメソッドは、希望する値ではなく nil を返します。つまり、「puts」は nil を返します。「プット」を削除して、もう一度やり直してください

于 2012-06-08T07:23:52.383 に答える