Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Iteratoren / Exercises / Summieren mit pull-one
Lösung: Summieren mit pull-one
Hier ist eine mögliche Lösung der Aufgabe.
Code
my $it = (3, 7, 5).iterator;
my $sum = 0;
loop {
my $v := $it.pull-one;
last if $v =:= IterationEnd;
$sum += $v;
}
say $sum;🦋 Du findest den Quellcode in der Datei sum-with-pull-one.raku.
Ausgabe
15Kommentare
.iteratorliefert die abholende Sicht auf die Liste, und jedespull-oneliefert die nächste Zahl.Der Wert wird mit
:=gebunden und nicht zugewiesen, damit$v =:= IterationEnddas Ende richtig erkennen kann — eine Zuweisung mit=würde den Container statt des Wertes vergleichen. Die Schleife addiert3,7und5, trifft dannIterationEndund hält an, sodass15übrig bleibt.