Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Reducción
El metaoperador de reducción
Envuelve cualquier operador infijo entre corchetes y se convierte en una reducción: se inserta entre todos los elementos de una lista, contrayéndola a un solo valor.
say [+] 1, 2, 3, 4, 5; # 15
say [*] 1, 2, 3, 4, 5; # 120[+] suma la lista como si hubieras escrito
1 + 2 + 3 + 4 + 5; [*] la multiplica. Lo mismo
funciona con cualquier operador infijo:
say [max] 4, 9, 2, 7; # 9
say [min] 4, 9, 2, 7; # 2
say [~] 'a', 'b', 'c'; # abc[max] reduce con el operador max para
hallar el elemento mayor, y [~] reduce con el operador de
concatenación de cadenas ~ para pegar las piezas.
El metaoperador de reducción funciona sobre cualquier lista, incluido un rango:
say [+] 1..100; # 5050Es una de las características más compactas y expresivas de Raku: la acumulación de todo un bucle en un par de corchetes.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Reducción | Quiz — El metaoperador de reducción →
💪 O ve directamente a los ejercicios de esta
sección.