Курс Raku / Розширені / Порядок виконання / Префікси інструкцій 🆕 / do та значення блоку
Тест — do
Що виведе наведена програма?
my $s = do given -3 {
when $_ < 0 { 'neg' }
default { 'nonneg' }
};
say $s;| 1 | neg |
| 0 | nonneg |
| 0 | -3 |
| 0 | Nil |
do працює перед керівними конструкціями, а не лише перед
голими блоками. Тут do given перетворює весь
given/when на вираз. Топік -3
збігається з $_ < 0, тож вираз дає 'neg',
що й зберігається в $s.