Как решить "неопределенную локальную переменную" Ошибка Ruby

В РубинВам не нужно объявлять переменные, но вы должны назначить им что-то, прежде чем на них можно будет ссылаться.

Если вы имеете в виду локальная переменная это еще не существует, вы можете увидеть одну из двух ошибок.

Ruby NameError Messages

NameError: неопределенная локальная переменная или метод `a 'для # 
NameError: неопределенная локальная переменная или метод `a 'для main: Object

Замечания: Там могут быть различные идентификаторы вместо «А» над.

Это пример, где код генерирует сообщение Ruby «NameError», так как переменная еще ничего не было назначено:

ставит

Как исправить ошибку

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

а = 10. ставит. 

Почему вы получаете эту ошибку

Очевидный ответ заключается в том, что вы ссылаетесь на переменную, которая еще не была создана. Это чаще всего связано с опечаткой, но может произойти при рефакторинге кода и переименовании переменных.

Вы также можете увидеть ошибку Ruby «NameError: undefined local variable», если вы намеревались ввести строку. Строки понимаются, когда они существуют между кавычками. Если вы не использовали кавычки, Ruby подумает, что вы должны ссылаться на метод или переменную (которая не существует) и выдать ошибку.

instagram viewer

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

instagram story viewer