Инструкция «выбор»
Инструкция выбор
является альтернативой инструкции если
. Она может использоваться в двух формах: полной и предикатной. Предикатная форма отличается от полной отсутствием выражения выбора.
выбор [выражение-выбора]
когда выражение-сравнения[, выражение-сравнения]
инструкции-языка
[когда выражение-сравнения[, выражение-сравнения]
инструкции-языка]
[иначе
инструкции-языка]
;
-
выражение-выбора
Это выражени е, которое будет находиться в левой части логического выражения при проверке условий.
-
выражение-сравнения
Это выражение, которое будет находиться в правой части логического выражения при проверке условий. В зависимости от формы инструкции
выбор
, выражение-сравнения может иметь несколько видов:-
Полноценное выражение. В этом случае будет проверяться следующее условие:
ВыражениеВыбора == ВыражениеСравнения
. Если используется предикатная форма инструкции, то выражение-сравнения должно представлять из себя полноценное логическое выражение, которое возвращает результатИстина
илиЛожь
. -
Частичное бинарное выражение:
логическая-операция выражение-сравнения
В такое выражение могут входить операции сравнения (
==
,!=
и т. д.) и операцияэто
. В этом случае будет проверяться следующее условие:выражение-выбора логическая-операция выражение-сравнения
-
Если выражения сравнения перечислены через символ ,
(запятая), то это означает, что перечисленные через запятую условия будут объединены «по ИЛИ».
Инструкция работает следующим образом:
- Полная форма
- Выполняется вычисление значения выражение-выбора.
- Для каждого условия (или набора условий), перечисленных в ветках
когда
выполняется сравнение выражение-выбора и выражение-сравнения. - Если результат сравнения равен значению
Истина
, то выполняются инструкции языка после соответствующей строки и затем управление передается на инструкцию языка, следующую за символом;
, закрывающим инструкциювыбор
. Проверка условий выполняется в порядке следования ключевых словкогда
.
- Предикатная форма
- Для каждой ветки
когда
выполняется вычисление выражения выражение-сравнения. - Если результат сравнения равен значению
Истина
, то выполняются инструкции языка после соответствующей строки и затем управление передается на инструкцию языка, следующую за символом;
, закрывающим инструкциювыбор
. Проверка условий выполняется в порядке следования ключевых словкогда
.
- Для каждой ветки
При любом варианте использования инструкции выбор
, если ни одно из условий не было выбрано, а в инструкции присутствует ветвь иначе
, управление будет передано этому набору инструкций.
Пример (полная форма сравнения)
метод Скрипт()
пер Числа = [0, 1, 2, 3, 4, 5, 6, 7]
пер Результат: Строка
для Значение из Числа
выбор Значение
когда 1
Результат = "1"
когда 2, 3
Результат = "2 или 3"
когда > 4
Результат = "больше 4"
иначе
Результат = "все остальное: " + Значение
;
;
;
Пример (предикатная форма сравнения)
метод Скрипт()
пер Числа = [0, 1, 2, 3, 4, 5, 6, 7]
пер Результат: Строка
для Значение из Числа
выбор
когда Значение == 1
Результат = "1"
когда Значение == 2 или Значение == 3
Результат = "2 или 3"
когда Значение > 4
Результат = "больше 4"
иначе
Результат = "все остальное: " + Значение
;
;
;