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 / Divi pieslēgumi

Risinājums: Divi pieslēgumi

Šeit ir iespējams risinājums uzdevumam.

Kods

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;

🦋 Atrodiet programmu failā two-taps.raku.

Izvade

[2 4 6]
[3 6 9]

Komentāri

  1. Supply.from-list darbojas pēc pieprasījuma, tāpēc tā savu pilno virkni atkārto katram pieslēgumam atsevišķi.

  2. Tas ļauj abiem pieslēgumiem pār vienu un to pašu avotu darbināt dažādus konveijerus: viens dubulto, otrs trīskāršo. Katrs redz visus 1, 2, 3, tāpēc rezultāti ir [2 4 6] un [3 6 9].

Kursa navigācija

Divi pieslēgumi   |   Vēla pieslēgšanās