Курс языка программирования Raku / Продвинутый уровень / Порядок выполнения / Фазеры блоков / Exercises
Очистка при выходе
Задача
Главная сила LEAVE в том, что он выполняется
независимо от того, как произошёл выход из блока — включая
досрочный return.
Напишите подпрограмму work, тело которой начинается с
фазера LEAVE, печатающего Cleanup. Затем, всё
ещё внутри подпрограммы, напечатайте Working, выполните
return и после него поставьте строку
say 'never reached'. Вызовите подпрограмму. Досрочный
return пропускает последнюю строку, но Cleanup
всё равно печатается.
Пример
Программа выводит:
Working
Cleanup