Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / Dzīvie un pēc pieprasījuma supply / Exercises / Vēla pieslēgšanās
Risinājums: Vēla pieslēgšanās
Šeit ir iespējams risinājums uzdevumam.
Kods
my $supplier = Supplier.new;
my @got;
$supplier.emit(1);
$supplier.Supply.tap(-> $v { @got.push($v) });
$supplier.emit(2);
$supplier.emit(3);
say @got;🦋 Atrodiet programmu failā a-live-feed.raku.
Izvade
[2 3]Komentāri
Supplierir sūtītājpuse; tā.Supplyir tas, kam pieslēdzaties. Dzīva supply pārraida tikai tiem pieslēgumiem, kas klausās katras izstarošanas brīdī.emit(1)notiek, pirms vispār pastāv kāds pieslēgums, tāpēc tas pazūd — gluži kā ieslēdzot radio pēc tam, kad dziesma jau nospēlēta. Tiek satverti tikai2un3, kas izstaroti pēc pieslēgšanās, dodot[2 3].