Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / Фазеры блоков / Exercises

Очистка при выходе

Задача

Главная сила LEAVE в том, что он выполняется независимо от того, как произошёл выход из блока — включая досрочный return.

Напишите подпрограмму work, тело которой начинается с фазера LEAVE, печатающего Cleanup. Затем, всё ещё внутри подпрограммы, напечатайте Working, выполните return и после него поставьте строку say 'never reached'. Вызовите подпрограмму. Досрочный return пропускает последнюю строку, но Cleanup всё равно печатается.

Пример

Программа выводит:

Working
Cleanup

Решение

Смотрите решение

Навигация по курсу

Фазеры блоков   |   Решение: Очистка при выходе