Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Datu plūsmas / Atpakaļvērstā plūsma
Viktorīna — Atpakaļvērstā plūsma
Ko izdrukā šī programma?
my @out <== map(* + 1) <== (10, 20, 30);
say @out;| 1 | [11 21 31] |
| 0 | [31 21 11] |
| 0 | [30 20 10] |
| 0 | [10 20 30] |
<== maina tikai virzienu, kādā konveijers uzrakstīts,
nevis datu secību. Avots (10, 20, 30) ieplūst — mērķis ir
kreisajā pusē —, un map(* + 1) katram elementam turpat
pieskaita vienu, dodot [11 21 31]. Atpakaļvērstā plūsma
elementus nekad neapgriež otrādi; tam vajadzētu tiešu
reverse.