Курс Raku / Розширені / Контейнери / Спеціальні та динамічні змінні 🆕 / Вправи

Перевизначити динамічну

Завдання

Покажіть, як динамічна змінна перетікає крізь проміжну підпрограму, яка про неї нічого не знає.

Напишіть підпрограму log-it($msg), яка виводить повідомлення з префіксом із динамічної змінної $*prefix. Напишіть другу підпрограму task, яка просто викликає log-it('working') — і сама ніколи не згадує $*prefix. Потім викличте task двічі, щоразу зсередини блоку, який встановлює $*prefix в інше значення (INFO, а потім DEBUG).

Приклад

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

INFO: working
DEBUG: working

Рішення

Дивіться рішення

Навігація курсом

Розв’язання: Динамічна змінна   |   Розв’язання: Перевизначити динамічну