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

Ключ

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

Цикл "Для каждого" Версия 10 (Java)

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

...

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

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

...

Параметры 

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

Поле "Коллекция"   Коллекция                       Коллекция объектов, проход по которым будет осуществляться в цикле

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

Поле "Объект"Объект                              Объект, в который будет помещен каждый элемент коллекции во время выполнения итерации

Настройки

СвойствоОписаниеТипПример заполненияОбязательность заполнения поля
Параметры
КоллекцияКоллекция объектов, проход по которым будет осуществляться в циклеRobin.Collection
 

Да
Результаты
ОбъектОбъект, в который будет помещен каждый элемент коллекции во время выполнения итерацииRobin.Object
  


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

Порядок работы с циклом

...

"Для каждого"

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


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


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

...

4. Результат работы цикла: объект, в который будет помещен каждый элемент коллекции во время выполнения итерации.

Сравнение циклов

...

"Для" и "Для каждого".

Цикл «Для» "Для" выполнит работу заданное количество раз. Итератор будет принимать значения от начального заданного значения до конечного с шагом, указанным в поле «Инкремент»"Инкремент".

Цикл «Для каждого» "Для каждого" последовательно работает с элементами выбранной коллекции. Количество итераций равно количеству элементов в коллекции, выбранной на входе.

Таким образом результат цикла «Для» "Для" это число, а «Для каждого» "Для каждого" объект.

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

...

Робот отработал успешно. Алгоритм прошел по циклу и был прерван после того как в коллекции было найдено значение "2".

Кейс

...

"Сортировка". Цикл

...

"Для каждого"

Задача

 В папке находятся файлы с расширением .xls(x) и .docx. Необходимо создать папки с названием расширения и распределить файлы по папкам.

...

  1. На рабочую область перенести действия «Получить "Получить содержимое папки» и «Для каждого»папки" и "Для каждого"

  2. Заполнить параметры действий.

    1. Действие «Получить "Получить содержимое папки»папки".
      В строке «Папка» "Папка" указать путь до папки с файлами, которые необходимо рассортировать.
      В поле  «Тип объектов» поле  "Тип объектов" указать значение  "только файлы".



    2. Действие «Для каждого»"Для каждого".
      В строке «Коллекция» "Коллекция" указать результат выполнения действия «Получить "Получить содержимое папки»папки".



  3. В тело цикла поместить следующие действия в указанном порядке:

    1. «Получить "Получить информацию о файле»файле";

    2. «Извлечь "Извлечь с позиции»позиции";

    3. «Найти папку»"Найти папку";

    4. «Получить длину»"Получить длину";

    5. «Если»"Если";

    6. На ветвь «Истина» "Истина" переместить действия:
      «Получить "Получить значение по индексу»индексу";
      "Конвертировать данные";
      «Переместить файл»"Переместить файл";

    7. На ветвь «Ложь» "Ложь" переместить действия:
      «Создать "Создать новую папку»папку";
      «Переместить файл»"Переместить файл";

  4. Заполнить параметры действий.

    1. Для действия «Получить "Получить информацию о файле»файле":
      Параметр «Файл» "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.



    2. Для действия «Извлечь "Извлечь с позиции»позиции";
      Параметр «Исходный текст» "Исходный текст" - результат "Расширение" действия «Получить "Получить информацию о файле»файле".
      Параметр «Позиция» "Позиция" - 1.
      Параметр «Длина» "Длина" если данный параметр не заполнен, то текст извлекается с заданной позицией до конца.



    3. Для действия «Найти папку»"Найти папку"
      Параметр «Папка "Папка для поиска» поиска" - путь до папки, где храниться подпапка для сортировки файлов.
      Параметр «Шаблон поиска» "Шаблон поиска" - результат действия «Извлечь "Извлечь с позиции»позиции".



    4. Для действия «Получить длину»"Получить длину"
      Параметр «Коллекция "Коллекция или массив» массив" - результат действия «Найти папку»"Найти папку".

    5. Для действия «Если»"Если"
      С помощью инструмента построения выражения в параметр условия записать логический оператор «Больше чем»"Больше чем", где первый операнд – результат действия «Получить длину»"Получить длину", а второй – 0.



    6. Для действия «Получить "Получить значение по индексу»индексу".
      Параметр «Коллекция» "Коллекция" - результат действия «Найти папку»"Найти папку".
      Параметр «Индекс» "Индекс" - 0. 



    7. Для действия «Конвертировать данные»"Конвертировать данные"
      Параметр «Источник» "Источник" - результат действия «Путь "Путь к папке»папке"
      Параметр «Тип» "Тип" - путь к папке. 



    8. Для действия «Переместить файл»"Переместить файл".
      Параметр «Файл» "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.
      Параметр «Папка назначения» "Папка назначения" - результат действия «Конвертировать данные»"Конвертировать данные".



    9. Для действия «Создать "Создать новую папку»папку"
      Параметр «Родительская папка» "Родительская папка" - путь до папки, где , где храниться подпапка для сортировки файлов.
      Параметр «Имя» "Имя" - результат действия «Извлечь "Извлечь с позиции»позиции".



    10. Для действия «Переместить файл»"Переместить файл".
      Параметр «Файл» "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.
      Параметр «Папка назначения» "Папка назначения" - результат действия «Создать "Создать новую папку»папку".

Результат

Робот отработал успешно.

...

Алгоритм прошел по циклу, рассортировывая файлы по папкам.