Курс по Raku / Напреднали / Управление на потока / Фейзъри за блокове / Exercises

Почистване при напускане

Задача

Истинската сила на LEAVE е, че се изпълнява независимо как е напуснат блокът — включително при ранен return.

Напишете подпрограма work, чието тяло започва с фазер LEAVE, който отпечатва Cleanup. След това, все още вътре в подпрограмата, отпечатайте Working, извикайте return веднага и поставете ред say 'never reached' след return. Извикайте подпрограмата. Ранният return прескача последния ред, но Cleanup все пак се отпечатва.

Пример

Програмата отпечатва:

Working
Cleanup

Решение

Вижте решението

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

Фейзъри за блокове   |   Решение: Почистване при напускане