Курс Raku / Розширені / Оператори / Метаоператори
Zip-метаоператори
Метаоператор zip Z бере два (або більше) списки й парує
їхні елементи за позиціями:
say (1, 2, 3) Z (4, 5, 6); # ((1 4) (2 5) (3 6))Результатом є список груп: перші елементи кожного списку разом, потім другі з кожного й так далі.
Ще дотепніше те, що Z можна поєднати з оператором, щоб
діяти на кожну пару. Наприклад, Z+ додає елементи позиція
до позиції:
say (1, 2, 3) Z+ (10, 20, 30); # (11 22 33)Це метаоператор zip, що огортає оператор +: він обчислює
1 + 10, 2 + 20 та 3 + 30. Так
само Z* перемножує відповідні елементи:
say (1, 2, 3) Z* (10, 20, 30); # (10 40 90)А Z~ з’єднує відповідні рядки:
say <a b c> Z~ <1 2 3>; # (a1 b2 c3)Навігація курсом
← Тест — Редукція | Перехресні, гіпер- та заперечні →
💪 Або перейдіть одразу до вправ цього
розділу.