Cursus Raku / Geavanceerd / Besturingsstructuren / Statement-prefixen
do en de waarde van een blok
Een blok op zichzelf is een statement, geen expressie, dus je kunt
het normaal gesproken niet aan een variabele toewijzen. Het prefix
do maakt van een blok een expressie waarvan de waarde de
waarde van het laatste statement is:
my $x = do {
my $a = 3;
$a + 4;
};
say $x; # 7Binnen het blok kun je variabelen declareren, meerdere statements
uitvoeren en een resultaat berekenen; do geeft terug wat
het blok oplevert. Dit is handig wanneer het produceren van een waarde
meer vereist dan een enkele expressie.
do werkt ook voor control-flow-statements, waardoor ook
die een waarde kunnen teruggeven:
my $sign = do given 5 {
when * > 0 { 'positive' }
when * < 0 { 'negative' }
default { 'zero' }
};
say $sign; # positiveHier maakt do given van het hele
given/when-construct een expressie die
positive oplevert. Hetzelfde werkt met do if
en do for. Kortom, do is de manier om een blok
of een besturingsstructuur te gebruiken op een plek waar een waarde
verwacht wordt.
Praktijk
Maak de 1 quiz over de inhoud van dit onderwerp.
Cursusnavigatie
← Statement-prefixen | Quiz — do →
💪 Of ga direct naar de oefeningen in
deze sectie.