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, поскольку массив был защищен.