Cursus Raku / Geavanceerd / Besturingsstructuren / Statement-prefixen / Exercises / De waarde van een do-blok

Oplossing: De waarde van een do-blok

Hier is een mogelijke oplossing voor de opgave.

Code

my $label = do if 7 > 5 { 'big' } else { 'small' };

say $label;

🦋 Je kunt de broncode vinden in het bestand do-block.raku.

Uitvoer

big

Opmerkingen

  1. Een kaal if is een statement en heeft geen bruikbare waarde. Het prefix do maakt van het hele if/else-construct een expressie.

  2. Aangezien 7 > 5 waar is, levert de expressie 'big' op, dat wordt toegewezen aan $label. Dezelfde truc werkt met do given en do for.

  3. De { } accolades zijn niet optioneel. Raku’s if neemt altijd een blok, dus je kunt de takken niet inkorten tot if 7 > 5 'big' else 'small' — dat compileert niet en geeft Missing block.

Cursusnavigatie

De waarde van een do-blok   |   Gretige evaluatie afdwingen