Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Reaktive Programmierung / react und whenever / Exercises / In zwei Arrays sortieren
Lösung: In zwei Arrays sortieren
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @small;
my @big;
react {
whenever Supply.from-list(4, 42, 7, 100, 15) {
if $_ > 10 { @big.push($_) }
else { @small.push($_) }
}
}
say @small;
say @big;🦋 Du findest den Quellcode in der Datei react-collect.raku.
Ausgabe
[4 7]
[42 100 15]Kommentare
Der
whenever-Rumpf ist gewöhnlicher Code, er kann also mehr als sammeln — hier entscheidet er und lenkt jeden Wert bei seinem Eintreffen nach@bigoder@small. Innerhalb jedes Arrays behalten die Werte ihre Stromreihenfolge.Der react-Block wartet, bis der Strom fertig ist, beide Arrays sind also vollständig, bevor sie ausgegeben werden.