Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Reaktive Programmierung / Supplies

Ein Supply anzapfen

Um ein Supply zu abonnieren, zapfen Sie es an: Sie geben .tap einen Block, und dieser Block läuft für jeden Wert, den das Supply aussendet. Am einfachsten experimentiert es sich mit Supply.from-list, das die Werte einer Liste aussendet:

my $s = Supply.from-list(1, 2, 3);
$s.tap(-> $v { say $v });

Das gibt aus:

1
2
3

Der Block -> $v { say $v } ist die Zapfstelle. Das Supply schiebt jeden Wert der Reihe nach hinein, der Block läuft also dreimal, einmal je Wert.

Die Zapfstelle darf mit dem Wert alles tun, auch ein Ergebnis aufsummieren:

my $total = 0;
Supply.from-list(1, 2, 3).tap(-> $v { $total += $v });
say $total; # 6

Hier wird jeder ausgesandte Wert zu $total addiert, das bei 6 endet. Das Anzapfen ist die Grundhandlung der reaktiven Programmierung: ein Stück Verhalten mit einem Strom verbinden und den Strom es antreiben lassen.

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Themas.

Kursnavigation

Supplies   |   Quiz — Supplies


💪 Oder springen Sie direkt zu den Übungen dieses Abschnitts.