Causas de Ruby NameError: error constante no inicializado

Causas de Ruby NameError: error constante no inicializado

El lenguaje de programación de código abierto ruby es conocido por su sintaxis clara y facilidad de uso. eso no significa que ocasionalmente no te encuentres con un mensaje de error. uno de los más molestos es la excepción constante no inicializada de nameerror porque tiene más de una causa. La sintaxis de la excepción sigue este formato:

nameerror: algo constante no inicializado

o

nameerror: objeto constante no inicializado :: algo

(donde varios nombres de clase están en lugar de algo)

ruby nameerror causas constantes no inicializadas

El error constante no inicializado es una variación de una clase de excepción de error de nombre normal . Tiene varias causas posibles. 

  • verá este error cuando el código se refiere a una clase o módulo que no puede encontrar, a menudo porque el código no incluye require , que le indica al archivo ruby ​​que cargue la clase.
  • en ruby, las variables / métodos comienzan con letras minúsculas, mientras que las clases comienzan con letras mayúsculas. Si el código no refleja esta distinción, recibirá la excepción constante no inicializada.
  • Otra posible causa del error de nameerror es que ha cometido un error tipográfico simple en el código. 
  • ruby distingue entre mayúsculas y minúsculas, por lo que "testcode" y "testcode" son completamente diferentes. 
  • el código contiene mención de rubygems , que está en desuso en todas las versiones excepto ruby ​​anteriores.

como arreglar el error

Para solucionar el problema de su código, examínelo por las posibles causas enumeradas anteriormente, una por vez. Si encuentra un problema, diríjalo. por ejemplo, revise el código buscando una discrepancia en el uso de mayúsculas y minúsculas en variables y clases. Si encuentra uno y lo corrige, su problema probablemente esté resuelto. Si no es así, continúe con las otras causas posibles, reparando a medida que avanza.

Si la clase a la que se refiere en el código está en otro módulo, consúltelo con su nombre completo de esta manera:

#! / usr / bin / env rubymodule mymodule class myclass; endendc = mymodule :: myclass.new

sobre excepciones de rubí

Las excepciones son cómo Ruby llama su atención sobre los problemas en el código. cuando se encuentra un error en el código, una excepción se "activa" o "arroja" y el programa se cierra de manera predeterminada.

Ruby publica una jerarquía de excepciones con clases predefinidas. nameerrors están en la clase standarderror, junto con runtimeerror, amenazador, rangeerror, argumenterror y otros. Esta clase incluye la mayoría de las excepciones normales que se encuentran en los programas típicos de Ruby.



Continuar Leyendo >

Articulos relacionados a la energia