Курс по Raku / Напреднали / Управление на потока / Фейзъри за блокове / Exercises
Почистване при напускане
Задача
Истинската сила на LEAVE е, че се изпълнява
независимо как е напуснат блокът — включително при ранен
return.
Напишете подпрограма work, чието тяло започва с фазер
LEAVE, който отпечатва Cleanup. След това, все
още вътре в подпрограмата, отпечатайте Working, извикайте
return веднага и поставете ред
say 'never reached' след return. Извикайте
подпрограмата. Ранният return прескача последния ред, но
Cleanup все пак се отпечатва.
Пример
Програмата отпечатва:
Working
Cleanup