Курс Raku / Розширені / Порядок виконання
Фейзери
Фазер — це особливий блок, який виконується автоматично в певну мить життя програми, а не там, де він з’являється у вихідному коді. Фазер не викликають; ви лише кажете, коли його код має виконатися, назвавши блок.
Найпоширеніші фазери позначають етапи програми в цілому:
BEGINвиконується якомога раніше, поки програма ще компілюється;INITвиконується один раз на початку запуску, перед основним кодом;ENDвиконується один раз у самому кінці, після завершення основного коду.
Наведена програма розставляє ці фазери серед звичайних операторів. Зверніть увагу, що вивід не відповідає порядку рядків у файлі:
say 'main body';
BEGIN say 'BEGIN';
END say 'END';
INIT say 'INIT';Програма виводить:
BEGIN
INIT
main body
ENDBEGIN виконується першим, під час компіляції. Далі, під
час виконання, INIT спрацьовує перед основним тілом. Потім
друкує основне тіло, а END виконується останнім, хоч би де
його було записано.
Поширене застосування END — вивести підсумок або щось
прибрати перед самим виходом із програми, тоді як BEGIN
стає в пригоді для роботи, яка має відбутися раніше за все інше.
Практика
Виконайте 1 тест за змістом цієї теми.
Вправи
У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.