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
Supply.from-listdarbojas pēc pieprasījuma, tāpēc tā savu pilno virkni atkārto katram pieslēgumam atsevišķi.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].