Операции ветвления. Switch
Использование блока Switch для обработки решений
Отлично! Теперь мы знаем расширение файла, но как проверить подходит ли оно нам? Мы уже делали проверку на количество, но тут необходимо другое решение, ведь вариантов может быть несколько.
Блок Switch
Для этого разумно будет использовать блок Switch. Принцип его использования похож на If-Else, но он более сложный и не ограничен одними только True и False в качестве вариантов.
Первый шаг его использования - установка входного параметра Value. Это необходимо для того, чтобы определиться, какими вообще могут быть варианты (строки, числа, выбор из списка Enum или что-то другое). В нашем случае в качестве Value используем элемент String, который получили в результате работы блока Array Element.
Следующий шаг - добавление возможных вариантов. Пропишем туда “xlsx” для файла Excel, а также различные варианты расширений файлов изображений (jpg, jpeg, png и прочие). Помимо этого всегда есть вариант Default, который обозначает, что ни один из представленных вариантов не подошел. В нашем случае именно на Default можно назначить вызов сообщения (Notification) о том, что выбранные файлы не соответствуют требованиям.
Если же все прошло по плану и файл действительно нужного формата, то остается лишь проверить второй файл по той же схеме. С тем отличием, что количество доступных вариантов сокращается. Если первым оказался файл xlsx, то второй нужно проверить только на соответствие формату изображений. Либо наоборот, в случае если первым файлом стало изображение, то второй обязан быть xlsx.
Обратите внимание на то, что различные варианты блока Switch могут вести на один и тот же путь. В нашем случае неважно какое именно расширение было у файла изображения, соответственно и дальнейший маршрут не будет зависеть от этого. Главное, чтобы это действительно был один из вариантов изображений.
На данном этапе обучения такая схема вполне работоспособна, но в дальнейших модулях курса мы разберемся, как сделать ее более элегантной. Использовать циклы и переменные, создавать собственные бизнес-процессы для повторяющихся фрагментов и использовать их в виде отдельного блока.