Cursus Raku / Geavanceerd / Besturingsstructuren / gather en
take / Exercises / Kwadraten
Oplossing: Kwadraten
Hier is een mogelijke oplossing voor de opgave.
Code
my @squares = gather for 1..6 {
take $_ ** 2 if $_ %% 2;
};
say @squares;🦋 Je kunt de broncode vinden in het bestand squares.raku.
Uitvoer
[4 16 36]Opmerkingen
De
if $_ %% 2-voorwaarde bepaalt of er genomen wordt, en$_ ** 2bepaalt wat er genomen wordt. Alleen de even getallen2,4,6voldoen aan de voorwaarde.Hun kwadraten
4,16,36zijn de enige waarden die aantakeworden doorgegeven, dusgatherverzamelt precies die waarden. Het filteren en transformeren samen in een enkeletakeis iets wat een gewonemapniet zo overzichtelijk kan uitdrukken.
Cursusnavigatie
← Kwadraten | Verzamelen tot vol →