Cursus Raku / Geavanceerd / Operatoren / Meta-operatoren
Zip-meta-operatoren
De zip-meta-operator Z neemt twee (of meer) lijsten en
koppelt hun elementen op positie:
say (1, 2, 3) Z (4, 5, 6); # ((1 4) (2 5) (3 6))Het resultaat is een lijst van groepen: het eerste element van elke lijst samen, dan het tweede van elk, enzovoort.
Nog slimmer: je kunt Z combineren met een operator om op
elk paar te werken. Bijvoorbeeld, Z+ telt de elementen
positie voor positie op:
say (1, 2, 3) Z+ (10, 20, 30); # (11 22 33)Dit is de zip-meta-operator die de +-operator omhult:
hij berekent 1 + 10, 2 + 20 en
3 + 30. Op dezelfde manier vermenigvuldigt Z*
overeenkomstige elementen:
say (1, 2, 3) Z* (10, 20, 30); # (10 40 90)En Z~ voegt overeenkomstige tekenreeksen samen:
say <a b c> Z~ <1 2 3>; # (a1 b2 c3)Cursusnavigatie
← Quiz — Reductie | Cross, hyper en genegeerd →
💪 Of ga direct naar de oefeningen in deze
sectie.