Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Riduzione / Exercises / La stringa più lunga

Soluzione: La stringa più lunga

Ecco una possibile soluzione del compito.

Codice

my @animals = 'cat', 'elephant', 'dog', 'fox';

say @animals.reduce(-> $a, $b { $b.chars > $a.chars ?? $b !! $a });

🦋 Trova il programma nel file longest-string.raku.

Output

elephant

Commenti

  1. Il blocco tiene la più lunga dei suoi due argomenti: $a è la stringa più lunga vista finora, $b è la successiva, e il ternario restituisce quella con più caratteri.

  2. reduce porta avanti quel vincitore come $a alla chiamata successiva, quindi dopo aver percorso tutto l’elenco il valore accumulato è la stringa più lunga di tutte — elephant.

La stringa più lunga   |   Lista separata da virgole