Курс по 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)Навигация в курса
← Тест — Редукция | Кръстосани, хипер и отрицателни →
💪 Или преминете направо към упражненията в този
раздел.