Una variable no definida en el código fuente de un programa informático es una variable a la que se accede en el código pero que no ha sido declarada por ese código. [ 1 ]
En algunos lenguajes de programación , se proporciona una declaración implícita la primera vez que se encuentra una variable de este tipo en tiempo de compilación . En otros lenguajes, este uso se considera lo suficientemente grave como para que se emita un diagnóstico y falle la compilación.
Algunas definiciones de lenguaje inicialmente usaban el comportamiento de declaración implícita y, a medida que maduraron, proporcionaron una opción para deshabilitarlo (por ejemplo, " " de Perluse warnings o " " de Visual BasicOption Explicit ).
Ejemplos
A continuación se muestran algunos ejemplos de cómo diversas implementaciones de lenguajes de programación responden a variables no definidas. Cada fragmento de código va seguido de un mensaje de error (si lo hay).
( establecer y x )*** - EVAL: la variable X no tiene valor
int main () { int y = x ; return 0 ; }foo.c: En la función `main': foo.c:2: error: `x' no declarado (primer uso en esta función) foo.c:2: error: (Cada identificador no declarado se informa solo una vez) foo.c:2: error: para cada función en la que aparece.)
Un ReferenceError solo ocurre si la misma parte del código ejecutado tiene una declaración leto una const(pero no var) más adelante, o si el código se ejecuta en modo estricto. En todos los demás casos, la variable tendrá el valor especial undefined.
"use strict" ; sea y = x ;let y = x ; let x ; // provoca un error en la línea 1ReferenceError: x no está definido Archivo fuente: file:///c:/temp/foo.js
y = x(sin error, continuando)
imprimir ( y )nulo
ML (ML estándar de Nueva Jersey)
val y = x ;stdIn:1.9 Error: variable o constructor no vinculado: x
Establecer Y=X
<UNDEF>
sea y = x ;;Valor no vinculado x
mi $y = ( $x // 0 ) + 1 ; # operador OR definido(sin error)
PHP 5
$y = $x ;(sin error)
$y = "" ; $x = "" ; error_reporting ( E_ALL ); $y = $x ;Aviso de PHP: Variable indefinida: x en foo.php en la línea 3
Python 3
x = y Traceback ( última llamada más reciente ): Archivo "<pyshell#0>" , línea 1 , en <module> x = y NameError : el nombre ' y' no está definidoPython 2.4
>>> x = y Traceback (última llamada): Archivo "<stdin>" , línea 1 , en <module> NameError : el nombre 'y' no está definidoseñal en no valor y = x +++ Error 30 en la línea 2: Etiqueta no encontrada
irb(main):001:0> y = x NameError: variable local o método `x' indefinido para main:Object from (irb):1% establecer y $x no puede leer " x" : no existe tal variable Dim y y = x(sin error)
Opción explícitaDim y y = x(3, 1) Error de tiempo de ejecución de Microsoft VBScript: La variable no está definida: 'x'
Referencias
- ↑ "variable indefinida". YourDictionary, s.f. Web. 24 de julio de 2013. < http://computer.yourdictionary.com/undefined-variable Archivado el 15 de abril de 2013 en Wayback Machine >.
- Variable (informática)
- Errores de software