Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / Supply live e su richiesta / Exercises / Sommate un flusso live

Soluzione: Sommate un flusso live

Ecco una possibile soluzione del compito.

Codice

my $supplier = Supplier.new;

my $total = 0;
$supplier.Supply.tap(-> $v { $total += $v });

$supplier.emit(10);
$supplier.emit(20);
$supplier.emit(30);

say $total;

🦋 Trova il programma nel file live-sum.raku.

Output

60

Commenti

  1. Ogni .emit consegna un valore alla presa, che lo aggiunge a $total.

  2. Dopo le tre emissioni il totale è 10 + 20 + 30, cioè 60.

Sommate un flusso live   |   react e whenever