Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Reaktive Programmierung / Live- und On-Demand-Supplies / Exercises / Zwei Taps
Lösung: Zwei Taps
Hier ist eine mögliche Lösung der Aufgabe.
Code
my $s = Supply.from-list(1, 2, 3);
my @doubled;
my @tripled;
$s.map(* * 2).tap(-> $v { @doubled.push($v) });
$s.map(* * 3).tap(-> $v { @tripled.push($v) });
say @doubled;
say @tripled;🦋 Du findest den Quellcode in der Datei two-taps.raku.
Ausgabe
[2 4 6]
[3 6 9]Kommentare
Supply.from-listist on demand, es spielt seine vollständige Folge also für jede Zapfstelle unabhängig erneut ab.Damit können die beiden Zapfstellen verschiedene Pipelines über dieselbe Quelle laufen lassen: Eine verdoppelt, eine verdreifacht. Jede sieht das ganze
1, 2, 3, die Ergebnisse sind also[2 4 6]und[3 6 9].
Kursnavigation
← Zwei Taps | Spät zugeschaltet →