40 Глава 3. Язык скриптов
Тип переменной, как при определении непрямым способом, будет
определен по типу передаваемого значения в инициализирующем
выражении.
Класс переменной определяет ее «видимость» для остального кода и
очерчивает рамки ее использования.
Рассмотрим классы подробнее:
• auto. Переменная этого класса может быть определена только
в функции пользователя и является локальной переменной этой
функции (ее видно только из этой функциР!). Значение перемен-
ной уничтожается после возвращения управления вызвавшему
скрипту/функции.
• static. Переменная этого класса может быть определена в функ-
ции пользователя, скрипте или компилируемом модуле и являет-
ся их локальной переменной (ее видно только из этих функ-
ции/скрипта/модуля). Значение переменной уничтожается после
прекращения выполнения скрипта.
• public. Переменная этого класса может быть определена только
в скргтте или компилируемом модуле и является глобальной пе-
ременной (ее видно из любых функции/скрипта/модуля). Значе-
ние переменной уничтожается после прекращения выполнения
скрипта.
• extern. Переменная этого класса может быть определена в функ-
ции пользователя, скрипте или компилируемом модуле и является
указателем на переменную public, определенную вне данных функ-
ции/скрипта/модуля.
Пример. Следующая строка кода инициализирует переменную
user_report как строку со значенртем «Попытка № 5» и делает ее
видимой для всех функций/скриптов/модулей:
public user_report = "Попытка №5":
TSL также поддерживает определение констант. Константа
—
это
переменная, значение которой не может быть впоследствии измене-
но.
Синтаксис объявления константы является следующим:
[ class
]
const name
[ =
expression ]:
Здесь class может быть только public или static.
Пример. Следующая строка кода инициализирует переменную
user_report как строчную константу со значением «Попытка № 5».
public const userreport = "Попытка Ife5":