Операторы прерывания итераций

Операторы EXIT, RETURN и continue

Оператор EXIT, помещенный в теле циклов WHILE, REPEAT и FOR, приводит к немедленному окончанию цикла. Хороший стиль программирования призывает избегать такого приема, но иногда он весьма удобен. Рассмотрим, например, поиск элемента массива с определенным значением х.

Проще всего организовать линейный перебор при помощи цикла FOR:

bObtained:= FALSE;

FOR cN := 1 TO Maxlndex DO

   IF x = aX[cN] THEN

       Index := cN;

       bObtained := TRUE;

       EXIT;

   END_IF

END_FOR

Для вложенного цикла оператор EXIT завершает только "свой" цикл, внешний цикл будет продолжать работу.

Оператор RETURN осуществляет немедленный возврат из компонента. Это единственный способ прервать вложенные итерации без введения дополнительных проверок условий. Но не стоит им злоупотреблять. Поскольку в тексте компонента, имеющего, например, 50 выходов, разобраться весьма не просто.

Оператор CONTINUE приводит к немедленному переходу на следующую итерацию цикла, опуская следующие за CONTINUE выражения.

Операторы EXIT и CONTINUE могут использоваться только внутри циклов WHILE, REPEAT и FOR.