-3

このエラーを修正できないようです:

NoMethodError: nil:NilClass の未定義のメソッド '+'

これは、ロードしているファイルからの私のコードです:

def test_person_name
  fred = Person.new("Fred", "Jones", 43)
  result = fred.name
  assert_equals("Fred Jones", result, "Name was wrong.")
end

これは他のコードです:

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

  def name()
    @first_name + " " + @last_name
  end

  def age()
    @age
  end

  def ==(other)
    other.name == name
  end
end
4

1 に答える 1

2

このエラーが発生する唯一の方法は、@first_nameis nil の場合です。そして、あなたが書いたことに基づいて、それは不可能です。

実際、あなたのクラスを読み込んで、Personあなたが行ったのと同じ方法で を作成すると、 を呼び出したときに "Fred Jones" と表示されますfred.name

したがって、考えられる唯一の原因は、この質問に投稿したコードが実際に実行しているものと異なることです。または、投稿したコードとは別の場所で実際のエラーが発生しています。

于 2013-05-24T22:34:37.177 に答える