Инструкция объявления переменной
Способы объявления переменных
Вы можете использовать несколько способов объявления переменных:
- С указанием типа:
модификатор имя-переменной: имя-типа
- С указанием значения:
модификатор имя-переменной = выражение-инициализации
- Переменные составного типа:
модификатор имя-переменной : имя-типа [|имя-типа ...][|имя-типа = выражение-инициализации]
-
модификатор
модификатор описывает вид переменной:
-
пер
(от английского variable — переменная) — переменная, доступная для записи и для чтенияпер Переменная1: Строка
-
знч
(от английского value — значение) — переменная, доступная только для чтениязнч Исполняемый = Ложь // тип файла
-
исп
(от английского use — использование) — переменная, тип которой является потомком типаЗакрываемое
(подробнее). Такая переменная доступна только для чтения. При выходе из области видимости для такой переменной будет автоматически вызван методЗакрыть()
исп ВременныйПотокЗаписи = ВременныйФайл.ОткрытьПотокЗаписи()
-
конст
(от английского constant — константа) — позволяет определить именованное значение, которое синтаксически выглядит как пере менная, но его нельзя изменить после объявления. Константа быть объявлена только на уровне модуля. При объявлении константы обязательно должно присутствовать значение инициализации, вычисление которого гарантировано происходит во время компиляции модуля. При инициализации константы литералом коллекции, значение коллекции является неизменяемым. Правила вычислимости выражения приведены ниже.конст ИМЯ_АРХИВА = "myZip.zip"
-
-
имя-переменной
Имя определяе мой переменной. Правила формирования имени переменной см. Переменные.
-
имя-типа
Имя типа.
-
выражение-инициализации
Выражение, которое описывает начальное значение определяемой переменной. Если выражение инициализации указывается для константы (используется модификатор
конст
), то это выражение должно быть вычислимо во время компиляции. Выражение является вычислимым на этапе компиляции, если оно удовлетворяет следующим критериям:-
Литералы (включая литералы коллекций) являются вычислимыми.
-
Обращения к константам модулей являются вычислимыми.
-
Операции над вычислимыми являются вычислимыми, кроме следующих исключений:
- Вызовы методов и обращения к свойствам.
- Вызовы конструкторов.
- Операции сложения значения типа
Строка
со значением другого типа.
Если выражение не указано, то переменная инициализируется значением по умолчанию для типа переменной. Если для выбранного типа нет значения по умолчанию или в составном типе отсутствует тип
Неопределено
, то во время компиляции возникает ошибка инициализации переменной.Если в качестве типа переменной указан тип
неизвестно
или тип, включающий типНеопределено
, то переменная инициализируется значениемНеопределено
.Если при определении переменной указано только выражение, то типом переменной будет тип результата выражения. В этом случае можно говорить о кратком объявлении переменной.
-
Переменные составного типа
Если определение типа переменной содержит несколько типов, разделенных символом |
, то происходит описание переменной составного типа. Если в составном типе отсутствует тип Неопределено
, то выражение инициализации переменной должно быть указано.
пер Переменная1: Строка|Число|Булево = 0
Если в составном типе присутствует тип Неопределено
, то в списке типов он явно не указывается, вместо него используется сокращение ?
, которое мы рекомендуем писать:
-
слитно с предыдущим типом, если типов всего два;
-
через символ
|
, если типов больше двух.
пер Переменная1: Строка?
пер Переменная1: Строка|Число|?
В этом случае переменная инициализируется значением Неопределено
.
Если нужно объявить переменную произвольного типа, то следует указать для нее тип Объект?
.