Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / Savienojumi
Automātiskā pavedienošana
Kad savienojumu padodat kaut kam, kas gaida vienu vērtību — salīdzinājumam vai parastai funkcijai —, Raku klusi piemēro šo darbību katrai aiz savienojuma stāvošajai vērtībai un rezultātus atkal savieno savienojumā. To sauc par automātisko pavedienošanu (autothreading).
Piemēram, pieskaitīšana savienojumam pieskaita katrai tā vērtībai:
my $j = 1 | 2 | 3;
say $j + 10; # any(11, 12, 13)+ 10 tika piemērots atsevišķi 1,
2 un 3, dodot jaunu any savienojumu
any(11, 12, 13).
Salīdzinājumā apvienotais rezultāts sabrūk vienā patiesuma vērtībā atbilstoši savienojuma veidam:
say so all(3, 7, 2) > 0; # True — katra vērtība ir pozitīva
say so all(3, -1, 2) > 0; # False — ne visas ir pozitīvas
say so none(1, 2, 3) == 5; # True — neviena no tām nav 5Tieši automātiskā pavedienošana padara savienojumus tik lakoniskus: viens salīdzinājums pārbauda daudzas vērtības. Konceptuāli pārbaudes ir neatkarīgas, tāpēc Raku ir brīvs tās izpildīt paralēli — un tieši tāpēc savienojumi dabiski iederas konkurences rīku komplektā.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Viktorīna — Savienojumi | Viktorīna — Automātiskā pavedienošana →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.