Raku-Kurs / Fortgeschritten / Kontrollfluss / gather und
take / Exercises / Quadrate
Lösung: Quadrate
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @squares = gather for 1..6 {
take $_ ** 2 if $_ %% 2;
};
say @squares;🦋 Du findest den Quellcode in der Datei squares.raku.
Ausgabe
[4 16 36]Kommentare
Die Bedingung
if $_ %% 2entscheidet, ob genommen wird, und$_ ** 2entscheidet, was genommen wird. Nur die geraden Zahlen2,4,6bestehen die Prüfung.Ihre Quadrate
4,16,36sind die einzigen Werte, die antakeübergeben werden, sodassgathergenau diese sammelt. Das Filtern und Transformieren zusammen in einemtakedurchzuführen, ist etwas, das ein einfachesmapnicht so elegant ausdrücken kann.
Kursnavigation
← Quadrate | Sammeln bis voll →