PureBasic

Protected


Синтаксис
Protected[.<type>] <variable[.<type>]> [= <expression>] [, ...]

Описание


Protected делает возможным доступ к переменной только в пределах Процедуры, даже если та же самая переменная была объявлена как Global в основной программе. Функцию Protected часто называют местной 'Local', в других BASICах. Каждой переменной можно задать значение по умолчанию. Если после Protected указывается тип, то тип по умолчанию изменяется для этого объявления. Protected так же может использоваться с массивами, связными списками и хеш-картами.

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

Пример: С переменной

Global a
a = 10

Procedure Change()
    Protected a
    a = 20
EndProcedure

Change()
Debug a ; Распечатает 10, поскольку переменная была защищена.


Пример: С массивом

Global Dim Array(2)
Array(0) = 10

Procedure Change()
    Protected Dim Array(2) ; Этот массив защищен, это будет локально.
    Array(0) = 20
EndProcedure

Change()
Debug Array(0) ; Распечатает 10, поскольку массив был защищен.