Cursus Raku / Geavanceerd / Besturingsstructuren / Statement-prefixen / do en de waarde van een blok

Quiz — do

Wat print het volgende programma?

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

do werkt voor besturingsstructuren, niet alleen voor kale blokken. Hier maakt do given van het hele given/when-construct een expressie. Het onderwerp -3 komt overeen met $_ < 0, dus de expressie levert 'neg' op, dat wordt opgeslagen in $s.

Cursusnavigatie

do en de waarde van een blok   |   Luiheid en gretigheid