NoMethodError:nil的未定义方法'+':NilClass

时间:2013-05-24 18:48:36

标签: ruby

我似乎无法解决此错误:

  

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

1 个答案:

答案 0 :(得分:2)

如果@first_name为零,则唯一可能出现此错误的方法。根据你所写的内容,这是不可能的。

事实上,如果我加载您的课程,请按照您已完成的方式创建Person,我会得到#Fred; Fred Jones"当我致电fred.name时。

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