Jump to content

Неопределенная переменная

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

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

Некоторые определения языка изначально использовали поведение неявного объявления, а по мере их развития предоставляли возможность его отключения (например, Perl " use warnings" или Visual Basic " Option Explicit").

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

(setf y x)
*** - EVAL: variable X has no value
int main() {
  int y = x;
  return 0;
}
foo.c: In function `main':
foo.c:2: error: `x' undeclared (first use in this function)
foo.c:2: error: (Each undeclared identifier is reported only once
foo.c:2: error: for each function it appears in.)

Ошибка ReferenceError возникает только в том случае, если тот же фрагмент исполняемого кода имеет let или const (но не var) позже или если код выполняется в строгом режиме. Во всех остальных случаях переменная будет иметь специальное значение. undefined.

"use strict";
let y = x;
let y = x;
let x; // causes error on line 1
 ReferenceError: x is not defined
 Source File: file:///c:/temp/foo.js
y = x

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

print(y)
nil

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

[ редактировать ]
val y = x;
stdIn:1.9 Error: unbound variable or constructor: x
Set Y=X
<UNDEF>
let y = x;;
Unbound value x
my $y = ($x // 0) + 1; # defined-or operator
(no error)
$y = $x;
(no error)
$y="";
$x="";
error_reporting(E_ALL);
$y = $x;
PHP Notice:  Undefined variable: x in foo.php on line 3
x = y
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    x = y
NameError: name 'y' is not defined
>>> x = y
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'y' is not defined
signal on novalue
y = x
+++ Error 30 in line 2: Label not found
irb(main):001:0> y = x
NameError: undefined local variable or method `x' for main:Object
	from (irb):1
% set y $x
can't read "x": no such variable
Dim y
y = x
(no error)
Option Explicit

Dim y
y = x
(3, 1) Microsoft VBScript runtime error: Variable is undefined: 'x'
  1. ^ «неопределенная переменная». Ваш словарь и Интернет. 24 июля 2013 г. < http://computer.yourdictionary.com/undefined-variable >.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b869bf3420eb736780ba5141541c5fb6__1708104660
URL1:https://arc.ask3.ru/arc/aa/b8/b6/b869bf3420eb736780ba5141541c5fb6.html
Заголовок, (Title) документа по адресу, URL1:
Undefined variable - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)