-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

获得此错误的唯一方法是 if@first_name为 nil。根据您所写的,这是不可能的。

事实上,如果我加载你的类,创建一个Person与你相同的方法,当我调用fred.name.

因此,唯一可能的原因是您发布到此问题的代码与您实际运行的代码不同。或者,实际错误发生在与您发布的代码不同的地方。

于 2013-05-24T22:34:37.177 回答