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.
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.