Курс по 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 и стойността на блок   |   Мързеливост и нетърпеливост