Перейти к основному содержимому
Версия: 5.x

Рекурсивный цикл (WHILE)

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

Язык

Синтаксис оператора рекурсивного цикла описывается оператором WHILE.

Примеры

iterateDates (DATE dateFrom, DATE dateTo)  {
LOCAL dateCur = DATE();

dateCur() <- dateFrom;
WHILE dateCur() <= dateTo DO {
MESSAGE 'I have a date ' + dateCur();
dateCur() <- sum(dateCur(), 1);
}
}