циклы в 1С. Эпизод 3

Для начинающих программистов: цикл Для Каждого

Мы уже знаем про цикл Для, но сегодня поговорим о его «особом брате» – конструкции Для Каждого. Она создана специально для работы с коллекциями: массивами, списками значений и другими наборами данных.


Что такое цикл «Для Каждого»

Обычный цикл «Для» требует от программиста аккуратности: правильно задать начальный индекс, не забыть, что счёт идёт с нуля, корректно указать предел. Ошибка в одном символе – и всё работает не так.

Цикл «Для Каждого» упрощает жизнь: он сам перебирает коллекцию от начала и до конца, без лишних забот.


Синтаксис

Для Каждого Элемент Из Коллекция Цикл
    // тело цикла
КонецЦикла;
  • Элемент – переменная, которая внутри цикла будет хранить очередное значение из коллекции.
  • Коллекция – это сам массив или список, который мы перебираем.

Пример с массивом

Допустим, у нас есть массив чисел:

Числа = Новый Массив;
Числа.Добавить(128);
Числа.Добавить(256);
Числа.Добавить(512);

Через обычный цикл «Для» это выглядело бы так:

Для Шаг = 0 По Числа.Количество()-1 Цикл
    Сообщить(Числа[Шаг]);
КонецЦикла;

Код рабочий, но есть риск ошибиться.
А теперь тот же обход с «Для Каждого»:

Для Каждого Элемент Из Числа Цикл
    Сообщить(Элемент);
КонецЦикла;

Лаконично, понятно, без ошибок.


Где это удобно

  • Когда важны значения элементов, а не их позиции.
  • Когда коллекция может изменяться, а вам не хочется вручную считать индексы.
  • Когда нужен максимально читаемый и аккуратный код.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *