Spec-Zone.ru › Ada 2022
Справочник по Ada (Ada 2022)

5.7 Операторы exit

Оператор exit_statement используется для завершения выполнения вложенного оператора loop_statement; завершение является условным, если оператор exit_statement содержит условие condition.

Синтаксис

exit_statement ::=
exit [loop_name] [when condition];

Правила разрешения имен

Имя loop_name, если оно присутствует, в операторе exit_statement должно ссылаться на оператор loop_statement.

Правила легальности

Каждый оператор exit_statement применяется к оператору loop_statement; это оператор loop_statement, который завершается. Оператор exit_statement с именем допускается только внутри оператора loop_statement, обозначенного этим именем, и применяется к этому оператору loop_statement. Оператор exit_statement без имени допускается только внутри оператора loop_statement и применяется к самому внутреннему вложенному оператору. Оператор exit_statement, применяемый к заданному оператору loop_statement, не должен появляться внутри тела или оператора accept_statement, если этот конструкт сам по себе заключён в указанном операторе loop_statement.

Динамическая семантика

При выполнении оператора exit_statement сначала вычисляется условие condition, если оно присутствует. Если значение условия condition равно True или если условие отсутствует, происходит передача управления для завершения оператора loop_statement. Если значение условия condition равно False, передача управления не происходит.
ПРИМЕЧАНИЕ Несколько вложенных циклов могут быть завершены оператором exit_statement, который указывает имя внешнего цикла.

Примеры

Примеры циклов с операторами exit:
for N in 1 .. Max_Num_Items loop
Get_New_Item(New_Item);
Merge_Item(New_Item, Storage_File);
exit when New_Item = Terminal_Item;
end loop;
Main_Cycle:
loop
-- начальные операторы
exit Main_Cycle when Found;
-- заключительные операторы
end loop Main_Cycle;


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API