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

Ключ

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

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

...

Версия 10 (Java)

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

...

Описание

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

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

Image Removed

...

Image Added

Параметры и их настройки

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

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


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

Отсутствуют.

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

...

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

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

...

  1. . 

...

  1. Image Added

...

  1. Заполнить тело цикла необходимыми

...

  1. действиям.
    Пример заполнения:
    Image Modified

...

  1. Заполнить параметры действия.
    1. Коллекция (список значений, которые будут обработаны в цикле).
      Пример заполнения параметров:
      Image Modified


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

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

...

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

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

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

Задача

...

Существует коллекция переменных с типом "Число", содержащие соответственно значение "(1988, 8, 2, 4)".
Необходимо завершить работу цикла, пока значение числовой переменной не будет равно значению "2".

Решение

...

  1. Добавить цикл "Для каждого".

  2. Добавить действие "Равно".

  3. Добавить условие "Если". В ветвь "Истина" добавить сообщение в лог и прерывание цикла.

Реализация

...

  1. Создаем переменную с типом "Коллекция". В коллекцию вносим значения (1988, 8, 2, 4) типа "Число".
    Image Modified
    Image Modified

  2. Перемещаем в рабочее пространство студии действие Цикл "Для каждого".

    1. Параметр "Коллекция". Указываем созданную коллекцию"Коллекция_значений". В ходе работы робота, цикл будет проходить по каждому из значений в коллекции.
      Image Modified


  3. Перемещаем в рабочее пространство студии действие "Равно", внутрь цикла "Для каждого".

    1. Параметр "Первый операнд". В данном параметре указываем объект текущей итерации цикла "Для каждого".

    2. Параметр "Второй операнд". В данном параметре указываем число "2". При нахождении числа 2 в цикле "Для каждого", цикл закончит свою работу.
      Image Modified

  4. Перемещаем в рабочее пространство студии действие "Если", внутрь цикла "Для каждого".

    1. Параметр "Условие". В данном параметре указывается результат действия "Равно". Если результат действия "Равно" - true, то робот пойдет по ветке "Истина", если - false, то - по ветке "Ложь".
      Image Modified

    2. В ветке "Истина" действия "Если" перемещаем действие "Сообщение в лог".
      Image Modified

    3. В ветке "Истина" действия "Если" перемещаем действие "Прервать цикл"

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

  6. :
  7. .
    Image Modified

Результат

...

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

Кейс

...

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

...

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

Задача

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

Решение

...

  1. На рабочую область перенести действия

  2. «Получить
  3. "Получить содержимое

  4. папки» и «Для каждого». 
  5. папки" и "Для каждого".
    Image Modified

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

    1. Действие

  7. «Получить
    1. "Получить содержимое

  8. папки»
    1. папки".
      В строке

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

  10. поле  «Тип объектов»
    1. поле  "Тип объектов" указать значение  "только файлы".
      Image Modified

    2. Действие

  11. «Для каждого»
    1. "Для каждого".
      В строке

  12. «Коллекция»
    1. "Коллекция" указать результат выполнения действия

  13. «Получить содержимое папки»
    1. "Получить содержимое папки".
      Image Modified

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

  15. «Получить
    1. "Получить информацию о

  16. файле»
    1. файле";

  17. «Извлечь
    1. "Извлечь с

  18. позиции»
    1. позиции";

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

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

  21. «Если»
    1. "Если";

    2. На ветвь

  22. «Истина»
    1. "Истина" переместить действия:

  23. «Получить
    1. "Получить значение по

  24. индексу»
    1. индексу";
      "Конвертировать данные";

  25. «Переместить файл»
    1. "Переместить файл";

    2. На ветвь

  26. «Ложь»
    1. "Ложь" переместить действия:

  27. «Создать
    1. "Создать новую

  28. папку»
    1. папку";

  29. «Переместить файл»
    1. "Переместить файл";

  30. Image Removed
  31. Заполнить параметры действий.

    1. Для действия

  32. «Получить
    1. "Получить информацию о

  33. файле»
    1. файле":
      Параметр

  34. «Файл»
    1. "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.
      Image Modified

    2. Для действия

  35. «Извлечь
    1. "Извлечь с

  36. позиции»
    1. позиции";
      Параметр

  37. «Исходный текст»
    1. "Исходный текст" - результат "Расширение" действия

  38. «Получить
    1. "Получить информацию о

  39. файле»
    1. файле".
      Параметр

  40. «Позиция»
    1. "Позиция" - 1.
      Параметр

  41. «Длина»
    1. "Длина" если данный параметр не заполнен, то текст извлекается с заданной позицией до конца.
      Image Modified

    2. Для действия

  42. «Найти папку»
    1. "Найти папку"
      Параметр

  43. «Папка
    1. "Папка для

  44. поиска»
    1. поиска" - путь до папки, где храниться подпапка для сортировки файлов.
      Параметр

  45. «Шаблон поиска»
    1. "Шаблон поиска" - результат действия

  46. «Извлечь
    1. "Извлечь с

  47. позиции»
    1. позиции".
      Image Modified

    2. Для действия

  48. «Получить длину»
    1. "Получить длину"
      Параметр

  49. «Коллекция
    1. "Коллекция или

  50. массив»
    1. массив" - результат действия

  51. «Найти папку»
    1. "Найти папку".
      Image Modified

    2. Для действия

  52. «Если»
    1. "Если"
      С помощью инструмента построения выражения в параметр условия записать логический оператор

  53. «Больше чем»
    1. "Больше чем", где первый операнд – результат действия

  54. «Получить длину»
    1. "Получить длину", а второй – 0.
      Image Modified
      Image Modified

    2. Для действия

  55. «Получить
    1. "Получить значение по

  56. индексу»
    1. индексу".
      Параметр

  57. «Коллекция»
    1. "Коллекция" - результат действия

  58. «Найти папку»
    1. "Найти папку".
      Параметр

  59. «Индекс»
    1. "Индекс" - 0.

  60.  

    1. Image Modified

    2. Для действия

  61. «Конвертировать данные»
    1. "Конвертировать данные"
      Параметр

  62. «Источник»
    1. "Источник" - результат действия

  63. «Путь
    1. "Путь к

  64. папке»
    1. папке"
      Параметр

  65. «Тип»
    1. "Тип" - путь к папке.

  66.  

    1. Image Modified

    2. Для действия

  67. «Переместить файл»
    1. "Переместить файл".
      Параметр

  68. «Файл»
    1. "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.
      Параметр

  69. «Папка назначения»
    1. "Папка назначения" - результат действия

  70. «Конвертировать данные»
    1. "Конвертировать данные".
      Image Modified

    2. Для действия

  71. «Создать
    1. "Создать новую

  72. папку»
    1. папку"
      Параметр

  73. «Родительская папка»
    1. "Родительская папка" - путь до папки, где , где храниться подпапка для сортировки файлов.
      Параметр

  74. «Имя»
    1. "Имя" - результат действия

  75. «Извлечь
    1. "Извлечь с

  76. позиции»
    1. позиции".
      Image Modified

    2. Для действия

  77. «Переместить файл»
    1. "Переместить файл".
      Параметр

  78. «Файл»
    1. "Файл" - ссылка на объект, обрабатываемый в момент итерации цикла.
      Параметр

  79. «Папка назначения»
    1. "Папка назначения" - результат действия

  80. «Создать
    1. "Создать новую

  81. папку»
    1. папку".
      Image Modified

Результат

...

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