Курс по 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.