Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Do while Version 12 (Java)

Группа действий: Базовые действия 

Описание

Данное действие предназначено для создания цикла действий, который выполняется до тех пор, пока результат условия равен "True". Для добавления условия используется инструмент построения выражений в параметре «Условие». Для добавления в тело цикла последовательности действий необходимо переместить их на контур блока "Тело цикла".

Image Removed

Иконка действия

Image Removed

Параметры действия

Входные параметры

  1. Условие - Логическое выражение или переменная/значение логического типа, определяющее продолжение или прерывание цикла.
  2. Условие - Последовательность действий в выражении в условии. Заполняется в случае, когда условие задается через построитель выражений.
  3. Тело цикла - Последовательности действий, которая должна выполняться на каждом шаге цикла. Заполняется добавлением действий в соответствующий блок в рабочую область.

Настройки

...

Логическое выражение или переменная/значение логического типа, определяющее продолжение или прерывание цикла.

Условие проверяется после выполнения тела цикла.

Для задания логического выражения используется инструмент построителя выражений.

!! Если пользователь удаляет из параметра значение, заданное инструментом построения выражений, блок "Условие" на флоу очищается.

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.


Image Added

Action icon

Image Added

Settings of parameters

PropertyDescriptionTypeFilling exampleMandatory field
Parameters
ConditionConditionRobin.BooleantrueYes

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.

Image Added


2. Fill the loop body with the necessary actions.
Filling example:

Image Added

3. Set the "Condition" action parameters.

Filling example:

Image Added


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:

Image Added

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

  1. Create a variable "Counter", variable type - number.
    Image Added
  2. Create a variable "Value", variable type - object.

    Image Added

  3. Move the "Folder list" (action group "File system"),"Do While" (action group "Base actions") actions to the workspace.

    Image Added
  4. Set the "Folder list" action parameters:
    1. In the "Folder" parameter specify the path to the folder with subfolders.
    2. In the "Objects type" field select "Only folders" value from the dropdown list.

      Image Added
  5. Set the "Do While" action parameters:
    1. 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:
      Image Added
       

      Image Added

    2. 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.
      Image Added

  6. Set the "Get value by index" action parameter:

    1. "Collection" parameter - "Folder list" action result.
    2. "Index" parameter - "Counter" variable.
    3. "Result" parameter - "Value" variable.
      Image Added
  7. Set the "Convert data" action parameter:
    1. "Source" parameter - "Get value by index" action result.
    2. "Data type" parameter - path to file.
      Image Added

  8. Set the "Find file" action parameters:
    1. "Folder path" parameter - "Convert data" action result.
    2. "File name" parameter - name of the needed file.
      Image Added

  9. Set the "Addition" action parameters:
    1. The first addendum - "Counter" variable.
    2. The second addendum - 1.
    3. Result - "Counter" variable.
      Image Added
  10. 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".

Image Added


 

...

Логический

True

...

Последовательность действий в выражении в условии. Заполняется в случае, когда условие задается через построитель выражений.

!! Данный параметр не отображается в панели параметров, но отображается в блоке Условие на рабочей области (флоу).

!! Параметр заполняется/редактируется через инструмент построения выражений и только через него. Любое редактирование данного блока на флоу для пользователя заблокировано.

...

Последовательности действий, которая должна выполняться на каждом шаге цикла. Заполняется добавлением действий в соответствующий блок в рабочую область.

!! Данный параметр не отображается в панели параметров, но отображается в блоке Тело цикла на рабочей области (флоу).

...

Особые условия использования

Так как это логическое выражение оценивается после каждого выполнения цикла, цикл "Пока" выполняется один или несколько раз.

Порядок работы с «Циклом с постусловием»

1.Выбрать действие «Цикл с постусловием» из группы действий «Базовые действия» и перенести в сценарий.

Image Removed

2. Заполнить тело цикла необходимыми действиями.
Пример заполнения:

Image Removed

3. Заполнить параметры действия "Условие"

Пример заполнения:

Image Removed

Если условие заполняется посредством инструмента построения выражений, то оно отобразиться в разделе «Условие» внутри цикла.

Пример цикла с постусловием, где условие заполнено с помощью инструмента построения выражений:

Image Removed

Сравнение циклов «Пока» и цикла с «Постусловием».

Оба цикла работают до тех пор, пока результат условия равен "True". Однако в цикле «Пока» проверка действия происходит перед началом выполнения цикла, т.е. цикл может отработать 0 раз и более.

Проверка условия в действии «Цикл с постусловием» происходит после выполнения действий в теле цикла, т.е. цикл отработает минимум один раз.

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

Кейс «Поиск файла». «Цикл с постусловием».

Задача

В папке есть несколько подпапок, где лежит необходимый нам файл. Нужно просмотреть подпапки и выяснить в какой из них сохранен этот файл.

Решение

1. Создать переменную «Счетчик», тип переменной – число.

2. Создать переменную «Значение», тип переменной – объект.

3. На рабочую область перенести действия «Получить содержимое папки» (группа действий «Файловая система»), «Цикл с постусловием» (группа действий «Базовые действия»).

4. В тело цикла добавить действия «Получить значение по индексу» (группа действий «Коллекции»), «Конвертировать данные» (группа действий «Базовые действия»), «Найти файл» (группа действий «Файловая система») и «Сложение» (группа действий «Операторы»).

Реализация

...

На рабочую область перенести действия «Получить содержимое папки» (группа действий «Файловая система»), «Цикл с постусловием» (группа действий «Базовые действия»).

...

Заполнить параметры действия «Получить значение по индексу»:

  1. Параметр «Коллекция» - результат действия «Получить содержимое папки».
  2. Параметр «Индекс» - переменная «Счетчик».
  3. Параметр «Результат» - переменная «Значение».
    Image Removed

...

  1. Первое слагаемое – переменная «Счетчик».
  2. Второе слагаемое – 1.
  3. Результат – переменная «Счетчик».
    Image Removed

...

Результат

Алгоритм пройдет по циклу до тех пор, пока не будет найден искомый файл. Путь до папки с этим файлом будет сохранен в переменную «Значение». 

Image Removed