Перейти к основному содержимому

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

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

выбор [выражение-выбора]
когда выражение-сравнения[, выражение-сравнения]
инструкции-языка
[когда выражение-сравнения[, выражение-сравнения]
инструкции-языка]
[иначе
инструкции-языка]
;
  • выражение-выбора

    Это выражение, которое будет находиться в левой части логического выражения при проверке условий.

  • выражение-сравнения

    Это выражение, которое будет находиться в правой части логического выражения при проверке условий. В зависимости от формы инструкции выбор, выражение-сравнения может иметь несколько видов:

    • Полноценное выражение. В этом случае будет проверяться следующее условие: ВыражениеВыбора == ВыражениеСравнения. Если используется предикатная форма инструкции, то выражение-сравнения должно представлять из себя полноценное логическое выражение, которое возвращает результат Истина или Ложь.

    • Частичное бинарное выражение:

      логическая-операция выражение-сравнения

      В такое выражение могут входить операции сравнения (==, != и т. д.) и операция это. В этом случае будет проверяться следующее условие:

      выражение-выбора логическая-операция выражение-сравнения

Если выражения сравнения перечислены через символ , (запятая), то это означает, что перечисленные через запятую условия будут объединены «по ИЛИ».

Инструкция работает следующим образом:

  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"
иначе
Результат = "все остальное: " + Значение
;
;
;