Неопределенной переменной в исходном коде в виде компьютерной программы является переменной , которая доступна в коде , но не был ранее объявлен этим кодом. [1]
В некоторых языках программирования неявное объявление предоставляется при первом обнаружении такой переменной во время компиляции . В других языках такое использование считается достаточно серьезным, чтобы вывести диагностику и выполнить компиляцию.
В некоторых определениях языков изначально использовалось неявное объявление, и по мере их развития предоставлялась возможность отключить его (например, Perl " use warnings
" или Visual Basic " Option Explicit
").
Примеры
Ниже приведены некоторые примеры того, как различные реализации языка программирования реагируют на неопределенные переменные. За каждым фрагментом кода следует сообщение об ошибке (если есть).
CLISP
( setf y x )
*** - EVAL: переменная X не имеет значения
C
int main () { int y = x ; возврат 0 ; }
foo.c: В функции `main ':foo.c: 2: error: `x 'не объявлен (первое использование в этой функции)foo.c: 2: error: (Каждый необъявленный идентификатор сообщается только один разfoo.c: 2: error: для каждой функции, в которой он появляется.)
JavaScript
у = х
Ошибка: x не определен Исходный файл: file: /// c: /temp/foo.js
Lua
у = х
(нет ошибок, продолжается)
печать ( у )
ноль
ML (Стандартный ML штата Нью-Джерси)
val y = x ;
stdIn: 1.9 Ошибка: несвязанная переменная или конструктор: x
Швабры
Установите Y = X
OCaml
пусть y = x ;;
Несвязанное значение x
Perl
мой $ y = ( $ x // 0 ) + 1 ; # defined-or оператор
(Нет ошибок)
PHP 5
$ y = $ x ;
(Нет ошибок)
$ y = "" ; $ x = "" ; error_reporting ( E_ALL ); $ y = $ x ;
Примечание PHP: неопределенная переменная: x в foo.php в строке 3
Python 2.4
>>> x = y Traceback (последний вызов последним): файл "" , строка 1 , в NameError : имя 'y' не определено
REXX
Сигнал на novalue у = х
+++ Ошибка 30 в строке 2: метка не найдена
Рубин
irb (main): 001: 0> y = x NameError: неопределенная локальная переменная или метод `x 'для main: Object from (irb): 1
Tcl
% Не набор у $ х может ' т чтения „х“ : нет такой переменной
VBScript
Dim y y = x
(Нет ошибок)
Вариант ЯвныйDim y y = x
(3, 1) Ошибка выполнения Microsoft VBScript: переменная не определена: 'x'
Рекомендации
- ^ "неопределенная переменная". YourDictionary, nd Web. 24 июля 2013 г. < http://computer.yourdictionary.com/undefined-variable >.