Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Riduzione
Il metaoperatore di riduzione
Avvolgi un qualunque operatore infisso fra parentesi quadre e diventa una riduzione: viene inserito fra ogni elemento di un elenco, facendolo collassare in un unico valore.
say [+] 1, 2, 3, 4, 5; # 15
say [*] 1, 2, 3, 4, 5; # 120[+] somma l’elenco come se avessi scritto
1 + 2 + 3 + 4 + 5; [*] lo moltiplica. Lo
stesso vale con qualunque operatore infisso:
say [max] 4, 9, 2, 7; # 9
say [min] 4, 9, 2, 7; # 2
say [~] 'a', 'b', 'c'; # abc[max] riduce con l’operatore max per
trovare l’elemento più grande, e [~] riduce con l’operatore
di concatenazione ~ per incollare insieme i pezzi.
Il metaoperatore di riduzione funziona su qualunque elenco, intervalli compresi:
say [+] 1..100; # 5050È una delle funzionalità più compatte ed espressive di Raku: un intero ciclo di accumulazione in un paio di parentesi.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Riduzione | Quiz — Il metaoperatore di riduzione →
💪 Oppure vai direttamente agli esercizi di questa
sezione.