Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Reaktīvā programmēšana / Supply
Supply pārveidošana
Supply var pārveidot, pirms tai pieslēdzas, gluži kā sarakstu.
Metodes, piemēram, map un grep, rada
jaunu supply, kuras vērtības ir pārveidotās:
my @out;
Supply.from-list(1, 2, 3).map(* * 10).tap(-> $v { @out.push($v) });
say @out; # [10 20 30]map(* * 10) uzbūvē jaunu supply, kas izstaro katru
sākotnējo vērtību desmitkārtīgi, un pieslēgums tās savāc
@out.
grep supply filtrē, tālāk laižot tikai tās vērtības,
kurām tā bloks ir patiess:
my @out;
Supply.from-list(1, 2, 3, 4, 5, 6).grep(* %% 2).tap(-> $v { @out.push($v) });
say @out; # [2 4 6]Tā kā katra pārveidošana atgriež vēl vienu supply, tās var saķēdēt, uzbūvējot mazu konveijeru, kas reaģē uz straumi:
my @out;
Supply.from-list(1..6).grep(* %% 2).map(* ** 2).tap(-> $v { @out.push($v) });
say @out; # [4 16 36]Šī ir tā pati map/grep vārdnīca, ko pazīstat no sarakstiem, piemērota vērtībām, kas pienāk laika gaitā. Supply stumj; jūsu konveijers veido to, kas iznāk ārā.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Viktorīna — Supply | Viktorīna — Supply pārveidošana →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.