Articulo de referencia

Variable indefinida

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

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 1
ReferenceError: 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á definido

Python 2.4

>>> x = y Traceback (última llamada): Archivo "<stdin>" , línea 1 , en <module> NameError : el nombre 'y' no está definido
señ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

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