Курс языка программирования 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.

Навигация по курсу

Обратный конвейер   |   Конвейер больших чисел