Axiom Справочник языка

Справочная статья

Оператор EXIT

Повторения иногда нужно прекратить раньше, чем сработает условие цикла: результат уже найден или продолжать вычисление не требуется. EXIT завершает ближайший охватывающий цикл указанного вида и передаёт управление за его окончание. Форм две — EXIT FOR и EXIT DO; каждая действует только в цикле своего вида и не принимает аргументов.

Формы и допустимый контекст

Оператор EXIT нужен для прекращения повторений, когда результат уже найден или продолжать вычисление не требуется. Форма EXIT FOR допускается внутри охватывающего FOR, а EXIT DO — внутри охватывающего DO. Обе формы работают в консольных и графических программах, включая вложенные условия и подпрограммы.

EXIT FOR

EXIT FOR

Форма допускается внутри FOR … NEXT и передаёт управление после соответствующего NEXT. Счётчик завершённого цикла становится недоступен. В следующей программе выход происходит на значении три, поэтому напечатаны только два первых числа:

FOR index = 1 TO 5
    IF index = 3 THEN
        EXIT FOR
    END IF
    PRINT index
NEXT

Результат:

1
2

Для значения три EXIT FOR выполнился до PRINT, поэтому третье число не появилось, а оставшиеся проходы не начались.

EXIT DO

EXIT DO

Форма допускается внутри DO … LOOP и передаёт управление после соответствующего LOOP. Условие завершаемого цикла больше не проверяется.

Вложенные циклы

Завершается ближайший охватывающий цикл именно указанного вида. Другие внешние циклы продолжают работу. Аргументов у этих форм нет; формы EXIT WHILE в Axiom нет.

Диагностика

  • MB2013 — EXIT FOR записан вне цикла FOR.
  • MB2014 — EXIT DO записан вне цикла DO ... LOOP.

См. также