2013-05-24 3 views
-3

Я не могу показаться, чтобы исправить эту ошибку:NoMethodError: неопределенный метод «+» для ноля: NilClass

NoMethodError: undefined method '+' for 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 
+0

Являются ли оба фрагмента кода в одном файле? – draxxxeus

+0

дайте нам полный код или дополнительную информацию, если вы хотите получить от нас помощь. –

+4

Код, который вы опубликовали, не может привести к ошибке, которую вы опубликовали. – meagar

ответ

2

единственный способ вы могли бы получить эту ошибку, если бы @first_name равна нулю. И на основании того, что вы написали, это невозможно.

Фактически, если я загружаю ваш класс, создайте Person так же, как вы это сделали, я получаю «Фред Джонс», когда я звоню fred.name.

Таким образом, единственными возможными причинами могут быть то, что код, который вы отправили на этот вопрос, отличается от того, что вы фактически используете. Или, фактическая ошибка происходит в другом месте, чем код, который вы опубликовали.

Смежные вопросы