Неопределенная переменная - Undefined variable

An Неопределенная переменная в исходный код из компьютерная программа это Переменная который доступен в коде, но не был ранее объявлен этим кодом.[1]

В некоторых языки программирования, неявное объявление предоставляется при первом обнаружении такой переменной в время компиляции. В других языках такое использование считается достаточно серьезным, чтобы вывести диагностику и выполнить компиляцию.

В некоторых определениях языка изначально использовалось неявное декларирование поведения, и по мере их развития предоставлялась возможность отключить его (например, Perl "s"использовать предупреждения" или же Visual Basic "s"Вариант явный").

Примеры

Ниже приведены некоторые примеры того, как различные реализации языка программирования реагируют на неопределенные переменные. За каждым фрагментом кода следует сообщение об ошибке (если есть).

CLISP

(setf у Икс)
*** - EVAL: переменная X не имеет значения

C

int главный() {  int у = Икс;  возвращаться 0;}
foo.c: В функции `main ': foo.c: 2: error:` x' необъявленный (первое использование в этой функции) foo.c: 2: error: (Каждый необъявленный идентификатор сообщается только один раз foo.c: 2: ошибка: для каждой функции, в которой она появляется.)

JavaScript

у = Икс
 Ошибка: x не определен Исходный файл: file: /// c: /temp/foo.js

Lua

у = Икс

(ошибок нет, продолжается)

Распечатать(у)
ноль

ML (Стандартный ML Нью-Джерси)

вал у = Икс;
stdIn: 1.9 Ошибка: несвязанная переменная или конструктор: x

МАМПЫ

Установите Y = X
<UNDEF>

OCaml

позволять у = Икс;;
Несвязанное значение x

Perl

мой $ y = ($ x // 0) + 1; # defined-or оператор
(Нет ошибки)

PHP 5

$ y = $ x;
(Нет ошибки)
$ y="";$ x="";Отчет об ошибках(E_ALL);$ y = $ x;
Примечание PHP: неопределенная переменная: x в foo.php в строке 3

Python 2.4

>>> Икс = уОтслеживание (последний вызов последний):  Файл "", линия 1, в <module>NameError: имя 'y' не определено

REXX

сигналнаневажноу=Икс
+++ Ошибка 30 в строке 2: метка не найдена

Рубин

irb (основной): 001: 0>у = ИксNameError: неопределенная локальная переменная или метод `x 'для main: Objectот (irb): 1

Tcl

% набор у $ xможет'читаю "Икс": нет такой переменной

VBScript

Тусклый уу = Икс
(Нет ошибки)
Вариант ЯвныйТусклый уу = Икс
(3, 1) Ошибка выполнения Microsoft VBScript: переменная не определена: 'x'

Рекомендации

  1. ^ "Неопределенная переменная." YourDictionary, n.d. Интернет. 24 июля 2013 года. <http://computer.yourdictionary.com/undefined-variable >.