Инструкция «выбор»

Инструкция выбор является альтернативой инструкции если. Она может использоваться в двух формах: полной и предикатной. Предикатная форма отличается от полной отсутствием выражения выбора.

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

При любом варианте использования инструкции выбор, если ни одно из условий не было выбрано, а в инструкции присутствует ветвь иначе, управление будет передано этому набору инструкций.

Пример (полная форма сравнения):

метод Скрипт()
    пер Числа = [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")
        иначе
            Консоль.Записать("все остальное: " + Значение)
        ;
    ;
;