Raku-Kurs / Anhang 🆕 / Ablauf und Funktionen / Subroutinen und funktionaler Stil / Exercises / Summe der geraden Quadrate
Lösung: Summe der geraden Quadrate
Hier ist eine mögliche Lösung der Aufgabe.
Code
say [+] (1..10).grep(* %% 2).map(* ** 2);🦋 Du findest den Quellcode in der Datei sum-even-squares.raku.
Ausgabe
220Kommentare
Die Kette liest sich von links nach rechts:
.grep(* %% 2)behält die geraden Zahlen,.map(* ** 2)quadriert jede, und[+]reduziert die Quadrate zu ihrer Summe.Die geraden Zahlen
2 4 6 8 10ergeben quadriert4 16 36 64 100, was sich zu220addiert.Dieselben Schritte lassen sich als Feed-Pipeline schreiben, in der
==>jedes Ergebnis an die nächste Stufe weiterreicht — der Fluss liest sich dann von oben nach unten statt als Methodenkette:(1..10) ==> grep(* %% 2) ==> map(* ** 2) ==> sum() ==> say();
Jedes
==>speist seine linke Liste in die nächste Routine, und das abschließende==> say()gibt die Summe aus,220.