Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Reaktive Programmierung / react und whenever / Exercises / Großbuchstaben mit react
Lösung: Großbuchstaben mit react
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @collected;
react {
whenever Supply.from-list('a', 'b', 'c') {
@collected.push($_.uc);
}
}
say @collected;🦋 Du findest den Quellcode in der Datei react-upcase.raku.
Ausgabe
[A B C]Kommentare
Der
whenever-Rumpf läuft einmal je Wert, schreibt ihn groß und legt ihn auf@collected.reactwartet, bis das eine Supply fertig ist, bissayläuft, enthält das Array also alle drei Werte in Reihenfolge:[A B C].Ein Supply hat eigene listenartige Methoden, Sie könnten also im Strom statt im Rumpf großschreiben —
whenever Supply.from-list('a', 'b', 'c').map(*.uc) { @collected.push($_) }— mit derselben Wirkung..mapauf einem Supply formt jeden Wert um, während er vorbeifließt; die Wahl ist schlicht, ob die Umformung zum Strom oder zur Reaktion gehört.