switch-case — икона Выбор
Ru | En
Икона Выбор сравнивает выражение с несколькими значениями. Для таких случаев мы могли бы применить группу икон Вопрос, но икона Выбор — более компактный метод. Икона Выбор — это аналог конструкции switch-case в JavaScript.
Возьмём функцию printNumber из статьи об иконе Вопрос. Там мы сравниваем number со значениями 10 и 20.
Перепишем эту функцию с иконой Выбор.
Обратите внимание, что выражение в иконе Выбор будет выполнено только один раз.
Каждое из значений кладём в отдельную икону Вариант. Можно добавить столько икон Вариант, сколько нужно. Пустая икона Вариант справа означает "все остальные значения".
Сгенерируем код для модуля и запустим приложение.
10 "ten" 20 "twenty" 30 "some other value"
Если удалить пустую икону Выбор справа, Drakon.Tech добавит выражение throw для всех значений, кроме 10 и 20.
Проверим. Так и есть! Получаем ошибку "Unexpected case value".
10 'ten' 20 'twenty' Uncaught Error: Unexpected case value: 30 at printNumber (choice.js:30:31) at Object.main (choice.js:9:9) at choice_app.js:3:14 at choice_app.js:4:3
Иконы Вариант могут содержать любые выражения, а не только константы. Давайте вставим в икону Вариант переменную, а не константу.
Как видим, получается тот же результат.
10 "ten" 20 "twenty" 30 "some other value"