Книга: Язык программирования Euphoria. Справочное руководство

2.5.7 команда exit (выйти)

2.5.7 команда exit (выйти)

Команда exit может использоваться в цикле while или в цикле for. Она вызывает немедленное прерывание цикла с передачей управления первой команде, следующей после тела цикла. То есть,

for i = 1 to 100 do
if a[i] = x then
location = i
exit
end if
end for

Очень часто также можно видеть следующий вариант использования этой команды:

constant TRUE = 1
while TRUE do
...
if some_condition then
exit
end if
...
end while

То есть, это "бесконечный" цикл while, который прерывается командой exit в некоторой характерной точке в теле цикла.

Примечания о производительности: В Euphoria этот бесконечный тип цикла оптимизирован. Во время прогона программы никакие повторные проверки истинности выражения в команде while уже не выполняются, а совершается простой безусловный переход от end while обратно к первой команде внутри тела цикла. Если вам случится попасть в настоящий бесконечный цикл с интерпретатором ex.exe, когда не выполняются операции ввода/вывода, знайте, что простого пути остановить этот цикл не существует. Вы должны будете одновременно нажать клавиши Control-Alt-Delete, чтобы перезагрузиться под DOS, или прервать свой сеанс DOS под Windows. Если программа имела файлы, открытые на запись, будет полезно после перезагрузки запустить scandisk, чтобы проверить исправность своей файловой системы. Только если ваша программа ожидает ввода с клавиатуры, комбинация Control-c может прервать её исполнение (если вами не была выдана команда allow_break(0)).

С интерпретаторами exw.exe или exu комбинация control-c всегда работает и немедленно прервёт вашу программу, если у вас есть в этом необходимость.

Оглавление книги


Генерация: 3.135. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз