История страницы
...
Do while Version 12 (Java)
Группа действий: Базовые действия
Описание
Данное действие предназначено для создания цикла действий, который выполняется до тех пор, пока результат условия равен "True". Для добавления условия используется инструмент построения выражений в параметре «Условие». Для добавления в тело цикла последовательности действий необходимо переместить их на контур блока "Тело цикла".
Иконка действия
Параметры действия
Входные параметры
- Условие - Логическое выражение или переменная/значение логического типа, определяющее продолжение или прерывание цикла.
- Условие - Последовательность действий в выражении в условии. Заполняется в случае, когда условие задается через построитель выражений.
- Тело цикла - Последовательности действий, которая должна выполняться на каждом шаге цикла. Заполняется добавлением действий в соответствующий блок в рабочую область.
Настройки
...
Логическое выражение или переменная/значение логического типа, определяющее продолжение или прерывание цикла.
Условие проверяется после выполнения тела цикла.
Для задания логического выражения используется инструмент построителя выражений.
!! Если пользователь удаляет из параметра значение, заданное инструментом построения выражений, блок "Условие" на флоу очищается.
Action group: Base actions
...
Description
This action creates an action loop that runs as long as the result of the condition is "True". To add a condition, the expression construction tool is used in the "Condition" parameter. To add a sequence of actions to the loop body, you must move them to the outline of the "Loop body" clause.
Action icon
Settings of parameters
Property | Description | Type | Filling example | Mandatory field |
Parameters | ||||
Condition | Condition | Robin.Boolean | true | Yes |
Special conditions of use
Since this boolean expression is evaluated after each loop execution, the "While" loop is executed one or more times.
How to work with the "Do while" action
1.Select the "Do While" action from the "Base actions" action group and transfer it to the script.
2. Fill the loop body with the necessary actions.
Filling example:
3. Set the "Condition" action parameters.
Filling example:
If the condition is filled in using the expression builder tool, it will appear in the "Condition" section inside the loop.
An example of a loop with a postcondition where the condition is filled in using the expression construction tool:
Comparing the "While" and "Do While" loops
Both loops work as long as the result of the condition is "True". However, in the "While" loop, the action is checked before the loop starts executing, i.e. the loop may run 0 times or more.
The condition check in the "Do While" action takes place after the actions in the loop body are executed, i.e. the loop will run at least once.
Example of use
"Search file" case. "Do While".
Task
There are several subfolders in the folder where the file we need is stored. Look through the subfolders and find out in which of them this file is saved.
Solution
1. Create a variable "Counter", variable type - number.
2. Create a variable "Value", variable type - object.
3. Move the "Folder list" (action group "File system"),"Do While" (action group "Base actions") actions to the workspace.
4. Add actions "Get value by index" (action group "Collections"), "Convert data" (action group "Base actions"), "Search file" (action group "File system") and "Addition" (action group "Operators") to the loop body.
Implementation
- Create a variable "Counter", variable type - number.
Create a variable "Value", variable type - object.
Move the "Folder list" (action group "File system"),"Do While" (action group "Base actions") actions to the workspace.
- Set the "Folder list" action parameters:
- In the "Folder" parameter specify the path to the folder with subfolders.
- In the "Objects type" field select "Only folders" value from the dropdown list.
- Set the "Do While" action parameters:
- Use the expression construction tool to write the condition "The length of the collection obtained as a result of the "Find file" action is 0" into the condition parameter. To do this, create one more variable "Additional variable", in which the number 0 will be written.
Example:
- Add actions "Get value by index" (action group "Collections"), "Convert data" (action group "Base actions"), "Search file" (action group "File system") and "Addition" (action group "Operators") to the loop body.
- Use the expression construction tool to write the condition "The length of the collection obtained as a result of the "Find file" action is 0" into the condition parameter. To do this, create one more variable "Additional variable", in which the number 0 will be written.
Set the "Get value by index" action parameter:
- "Collection" parameter - "Folder list" action result.
- "Index" parameter - "Counter" variable.
- "Result" parameter - "Value" variable.
- Set the "Convert data" action parameter:
- "Source" parameter - "Get value by index" action result.
- "Data type" parameter - path to file.
- Set the "Find file" action parameters:
- "Folder path" parameter - "Convert data" action result.
- "File name" parameter - name of the needed file.
- Set the "Addition" action parameters:
- The first addendum - "Counter" variable.
- The second addendum - 1.
- Result - "Counter" variable.
- Click "Start" in the top panel to start the robot.
Result
The algorithm will loop until the desired file is found. The path to the folder with this file will be saved to the variable "Value".
...
Логический
True
...
Последовательность действий в выражении в условии. Заполняется в случае, когда условие задается через построитель выражений.
!! Данный параметр не отображается в панели параметров, но отображается в блоке Условие на рабочей области (флоу).
!! Параметр заполняется/редактируется через инструмент построения выражений и только через него. Любое редактирование данного блока на флоу для пользователя заблокировано.
...
Последовательности действий, которая должна выполняться на каждом шаге цикла. Заполняется добавлением действий в соответствующий блок в рабочую область.
!! Данный параметр не отображается в панели параметров, но отображается в блоке Тело цикла на рабочей области (флоу).
...
Особые условия использования
Так как это логическое выражение оценивается после каждого выполнения цикла, цикл "Пока" выполняется один или несколько раз.
Порядок работы с «Циклом с постусловием»
1.Выбрать действие «Цикл с постусловием» из группы действий «Базовые действия» и перенести в сценарий.
2. Заполнить тело цикла необходимыми действиями.
Пример заполнения:
3. Заполнить параметры действия "Условие"
Пример заполнения:
Если условие заполняется посредством инструмента построения выражений, то оно отобразиться в разделе «Условие» внутри цикла.
Пример цикла с постусловием, где условие заполнено с помощью инструмента построения выражений:
Сравнение циклов «Пока» и цикла с «Постусловием».
Оба цикла работают до тех пор, пока результат условия равен "True". Однако в цикле «Пока» проверка действия происходит перед началом выполнения цикла, т.е. цикл может отработать 0 раз и более.
Проверка условия в действии «Цикл с постусловием» происходит после выполнения действий в теле цикла, т.е. цикл отработает минимум один раз.
Пример использования
Кейс «Поиск файла». «Цикл с постусловием».
Задача
В папке есть несколько подпапок, где лежит необходимый нам файл. Нужно просмотреть подпапки и выяснить в какой из них сохранен этот файл.
Решение
1. Создать переменную «Счетчик», тип переменной – число.
2. Создать переменную «Значение», тип переменной – объект.
3. На рабочую область перенести действия «Получить содержимое папки» (группа действий «Файловая система»), «Цикл с постусловием» (группа действий «Базовые действия»).
4. В тело цикла добавить действия «Получить значение по индексу» (группа действий «Коллекции»), «Конвертировать данные» (группа действий «Базовые действия»), «Найти файл» (группа действий «Файловая система») и «Сложение» (группа действий «Операторы»).
Реализация
...
На рабочую область перенести действия «Получить содержимое папки» (группа действий «Файловая система»), «Цикл с постусловием» (группа действий «Базовые действия»).
...
Заполнить параметры действия «Получить значение по индексу»:
- Параметр «Коллекция» - результат действия «Получить содержимое папки».
- Параметр «Индекс» - переменная «Счетчик».
- Параметр «Результат» - переменная «Значение».
...
- Первое слагаемое – переменная «Счетчик».
- Второе слагаемое – 1.
- Результат – переменная «Счетчик».
...
Результат
Алгоритм пройдет по циклу до тех пор, пока не будет найден искомый файл. Путь до папки с этим файлом будет сохранен в переменную «Значение».