menu
Меню
Drakon.Tech logo
Drakon.Tech
Начать работу
Документация по Drakon.TechПрограммирование на языке ДРАКОНОсновы программирования в Drakon.TechПривет, мирПеременные и функцииif-else — икона Вопросswitch-case — икона ВыборЦикл foreachЦикл со стрелкой (цикл while)СилуэтКлассыЛямбда-выражения и исключенияПродвинутые темы программированияПримеры игрThe source codeLegacy tutorials (JavaScript 0.2)

switch-case — икона Выбор

Ru | En

Исходный код: Choice

Икона Выбор сравнивает выражение с несколькими значениями. Для таких случаев мы могли бы применить группу икон Вопрос, но икона Выбор — более компактный метод. Икона Выбор — это аналог конструкции switch-case в JavaScript.

Возьмём функцию printNumber из статьи об иконе Вопрос. Там мы сравниваем number со значениями 10 и 20.

Более сложное дерево принятия решений с иконой Вопрос

Перепишем эту функцию с иконой Выбор.

Икона выбор

Обратите внимание, что выражение в иконе Выбор будет выполнено только один раз.

Каждое из значений кладём в отдельную икону Вариант. Можно добавить столько икон Вариант, сколько нужно. Пустая икона Вариант справа означает "все остальные значения".

Сгенерируем код для модуля и запустим приложение.

10 "ten"
20 "twenty"
30 "some other value"

Если удалить пустую икону Выбор справа, Drakon.Tech добавит выражение throw для всех значений, кроме 10 и 20.

The Choice icon

Проверим. Так и есть! Получаем ошибку "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

Иконы Вариант могут содержать любые выражения, а не только константы. Давайте вставим в икону Вариант переменную, а не константу.

The Choice icon with a variable in a Case

Как видим, получается тот же результат.

10 "ten"
20 "twenty"
30 "some other value"
Исходный код: Choice
close
Закрыть
Drakon.Tech logo
Drakon.Tech - начало
Программирование на языке ДРАКОНОсновы программирования в Drakon.TechПродвинутые темы программированияThe source codeLegacy tutorials (JavaScript 0.2)