Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Конвеєри даних / Зворотний конвеєр

Тест — Зворотний конвеєр

Що надрукує наступна програма?

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]

<== змінює лише напрямок, у якому записано конвеєр, а не порядок даних. Джерело (10, 20, 30) втікає всередину — ціль ліворуч — і map(* + 1) додає одиницю до кожного елемента на місці, даючи [11 21 31]. Зворотний потік ніколи не обертає елементи; для цього знадобився б явний reverse.

Навігація курсом

Зворотний конвеєр   |   Конвеєр великих чисел