Corso di Raku / Avanzato / Operatori / Meta-operatori / Exercises / Ogni fattoriale in una volta
Soluzione: Ogni fattoriale in una volta
Ecco una possibile soluzione.
Codice
say [\*] 1..6;🦋 Puoi trovare il codice sorgente nel file factorial.raku.
Output
(1 2 6 24 120 720)Commenti
Il backslash all’interno delle parentesi quadre trasforma
[*]in una riduzione triangolare. Invece di comprimere la lista in un singolo valore, conserva ogni prodotto parziale:1, poi1*2, poi1*2*3, e così via.Ogni prodotto parziale
1*2*...*kè esattamente k!, quindi il risultato è la lista dei fattoriali da1a6. Un semplice[*] 1..6avrebbe restituito solo l’ultimo di questi,720.