Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione concorrente / hyper e race 🆕 / Exercises / Un map con hyper

Soluzione: Un map con hyper

Ecco una possibile soluzione del compito.

Codice

say <apple banana pear cherry>.hyper.map(*.uc).grep(*.chars > 4).join(' ');

🦋 Trova il programma nel file hyper-map.raku.

Output

APPLE BANANA CHERRY

Commenti

  1. .hyper esegue tutta la catena — il map che rende maiuscolo e il grep che filtra per lunghezza — fra i thread, in parallelo.

  2. Poiché .hyper preserva l’ordine, le parole sopravvissute restano nella loro sequenza originale, quindi .join(' ') produce APPLE BANANA CHERRY. pear, con sole quattro lettere, viene scartata.

Un map con hyper   |   Una somma con race