
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":