Corso di Raku / Appendice 🆕 / Flusso e funzioni / Subroutine e stile funzionale / Exercises / Somma dei quadrati pari
Soluzione: Somma dei quadrati pari
Ecco una possibile soluzione del compito.
Codice
say [+] (1..10).grep(* %% 2).map(* ** 2);🦋 Trova il programma nel file sum-even-squares.raku.
Output
220Commenti
La catena si legge da sinistra a destra:
.grep(* %% 2)conserva i numeri pari,.map(* ** 2)eleva ciascuno al quadrato, e[+]riduce i quadrati alla loro somma.I numeri pari
2 4 6 8 10elevati al quadrato danno4 16 36 64 100, che sommano a220.Gli stessi passi si possono scrivere come pipeline di flusso, dove
==>passa ogni risultato allo stadio successivo — così il flusso si legge dall’alto in basso invece che come catena di metodi:(1..10) ==> grep(* %% 2) ==> map(* ** 2) ==> sum() ==> say();
Ogni
==>alimenta con la lista alla sua sinistra la routine successiva, e il conclusivo==> say()stampa il totale,220.