Cómo resolver un error de Ruby "variable local indefinida"

En Rubí, no tiene que declarar variables, pero sí tiene que asignarles algo antes de poder hacer referencia a ellas.

Si te refieres a un variable local que aún no existe, puede ver uno de los dos errores.

Ruby Name Mensajes de error

NameError: variable local indefinida o método `a 'para # 
NameError: variable local indefinida o método `a 'para main: Object

Nota: Puede haber varios identificadores en lugar de 'un' encima.

Este es un ejemplo donde el código generará el mensaje Ruby "NameError" desde la variable un aún no ha sido asignado a nada:

pone un

Cómo arreglar el error

Las variables deben asignarse antes de que puedan usarse. Entonces, usando el ejemplo de arriba, arreglar el error es tan simple como hacer esto:

a = 10. pone un. 

Por qué recibes este error

La respuesta obvia es que te estás refiriendo a una variable que aún no se ha creado. Esto suele deberse a un error tipográfico, pero puede ocurrir al refactorizar el código y cambiar el nombre de las variables.

También puede ver el error Ruby "NameError: variable local indefinida" si desea ingresar una cadena. Las cadenas se entienden cuando existen entre comillas. Si no usó comillas, Ruby pensará que se refería a un método o variable (que no existe) y arrojará el error.

instagram viewer

Entonces, revise su código para ver a qué se supone que se refiere esta variable y corríjalo. También es posible que desee buscar otras instancias del mismo nombre de variable en el mismo método: si está mal en un lugar, puede estar mal en otros.

instagram story viewer