Switch (выбор из нескольких вариантов)

Оглавление


Описание

Оператор Switch представляет собой расширенную версию IF (условие "Если ... то ...") .

Если оператор IF имеет всего два исхода - True или False (зеленая или красная ветви), то Switch имеет возможность выбора нескольких вариантов. В случае отсутствия нужного варианта, кубик выйдет по ветке “Default”.


Как добавить действие в проект?

Через контекстное меню Добавить действиеЛогикаSwitch

 

Либо воспользуйтесь умным поиском.


Для чего это используется?

  • Выбор варианта из перечня

  • Проверка на определенное вхождение (соответствие)


Как пользоваться экшеном?

Переменная

Здесь необходимо указать переменную, которую мы будем проверять

Начиная с версии 7.4.0.0 из этого поля сразу можно и создать переменную (до этого можно было только выбрать из уже существующих).

Список условий

Здесь необходимо указать условия выхода. Значение из переменной будут сравниваться с каждым из условий и при нахождении совпадения выйдет по соответствующей ветке.

В качестве условия для выхода можно использовать не только жестко заданный текст, но и переменные:

Default

Если не будет найдено ни одного совпадения, то экшен выйдет по ветке Default.

Если ветка Default не соединена ни с одним из экшнов и выполнение попадает на неё, то экшен завершит работу ошибкой.

Пример


Пример использования

Представим ситуацию, в которой у нас существует какое-либо значение у переменной switch_test.

Далее создадим операции Оповещение (Notification/Запись в лог) для каждого из вариантов.

Видео с примером использования

Вы можете реализовать подобный функционал через C# C# код (Си шарп код .net)

Пример кода для варианта выше

string switch_var = project.Variables["switch_test"].Value; switch(switch_var){ case "A": project.SendInfoToLog("В переменной заключена буква A", true); break; case "B": project.SendInfoToLog("В переменной заключена буква B", true); break; case "C": project.SendInfoToLog("В переменной заключена буква C", true); break; case "D": project.SendInfoToLog("В переменной заключена буква B", true); break; case "E": project.SendInfoToLog("В переменной заключена буква E", true); break; default: project.SendInfoToLog("Не обнаружено нужное соответствие, значение переменной: " + project.Variables["switch_test"].Value, true); break; }

Полезные ссылки