Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / Supply live e su richiesta / Exercises / Collegarsi in ritardo
Soluzione: Collegarsi in ritardo
Ecco una possibile soluzione del compito.
Codice
my $supplier = Supplier.new;
my @got;
$supplier.emit(1);
$supplier.Supply.tap(-> $v { @got.push($v) });
$supplier.emit(2);
$supplier.emit(3);
say @got;🦋 Trova il programma nel file a-live-feed.raku.
Output
[2 3]Commenti
Il
Supplierè l’estremità che invia; il suo.Supplyè ciò a cui attingi. Un supply dal vivo trasmette solo alle prese in ascolto nel momento di ogni emissione.L’
emit(1)avviene prima che esista una qualunque presa, quindi va perduto — come sintonizzarsi su una stazione radio dopo che una canzone è già passata. Solo2e3, emessi dopo la presa, vengono catturati, dando[2 3].