Что нового

Синтаксис: Local - область действия?

Kalisnik

Эволюция
Сообщения
295
Репутация
63
Я указываю переменную как локальную, а она самовольно вылазиет за отведенные ей рамки приличий :\

Код:
Local $W

While $W < 3
	$W +=1
	MsgBox(0,'',$W,1)
WEnd
MsgBox(0,'',$W & ' ' & '- почему это значение попадает за пределы цикла?')


Я понял, что я понял не правильно, но я ни как не могу понять: как надо понимать, чтобы понять это правильно? :wacko: Буду признателен за помощь :idiot:
 

bulldog5293

Знающий
Сообщения
172
Репутация
10
Приведи полный скрипт, тогда полный ответ получеш
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Kalisnik [?]
Я указываю переменную как локальную, а она самовольно вылазиет за отведенные ей рамки приличий :\

Вот так она будет вести себя прилично :
Код:
Wfunc()
MsgBox(0,'',$W & ' ' & '- почему это значение попадает за пределы цикла?'); выдаст ошибку , так как не объявлена вне функции (или глобальной)

Func Wfunc()
	Local $W
	While $W < 3
		$W +=1
		MsgBox(0,'',$W,1)
	WEnd
EndFunc




Добавлено:
Сообщение автоматически объединено:

Локальную переменную объявляют в теле функции , где она является локальной , а не в теле скрипта
 

SyDr

Сидра
Сообщения
651
Репутация
158
Область видимости переменных

Область видимости переменной определется тем, где и как вы её объявляете. Если вы объявляете переменную в начале скрипта и за пределами любой функции, она создаётся, как глобальная (Global) переменная, которая доступна из любого места скрипта.

Если вы объявляете переменную внутри функции, она создаётся, как локальная (Local) переменная, и доступна только в этой же самой функции. Переменные, созданные внутри функции, автоматически уничтожаются после окончания её работы.

По умолчанию, переменные, объявленные с помощью Dim или созданные с помощью обычного присвоения внутри функции, получают локальную (Local) область видимости, если не существует глобальной переменной с таким именем (в этом случае глобальная переменная используется повторно). Это поведение может быть изменено с помощью ключевых слов Local и Global, которые позволяют принудительно объявить переменную в нужной области видимости.
 
Верх