Курс Raku / Розширені / Порядок виконання / Префікси інструкцій 🆕 / do та значення блоку

Тест — do

Що виведе наведена програма?

my $s = do given -3 {
    when $_ < 0 { 'neg' }
    default     { 'nonneg' }
};
say $s;
1neg
0nonneg
0-3
0Nil

do працює перед керівними конструкціями, а не лише перед голими блоками. Тут do given перетворює весь given/when на вираз. Топік -3 збігається з $_ < 0, тож вираз дає 'neg', що й зберігається в $s.

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

do та значення блоку   |   Лінивість та жадібність