Corso di Raku / Appendice 🆕 / Lavorare con i dati / Testo e stringhe / Exercises / Frequenza delle parole

Soluzione: Frequenza delle parole

Ecco una possibile soluzione del compito.

Codice

my $text = 'the cat sat on the mat the cat';

my %freq;
%freq{$_}++ for $text.words;

for %freq.sort({ -.value, .key }) -> $pair {
    say "{$pair.key}: {$pair.value}";
}

🦋 Trova il programma nel file word-frequency.raku.

Output

the: 3
cat: 2
mat: 1
on: 1
sat: 1

Commenti

  1. $text.words restituisce le parole; %freq{$_}++ incrementa un contatore per ciascuna, creando la chiave al primo incontro.

  2. Ordinare per -.value mette per prime le più frequenti; aggiungere .key come secondo criterio scioglie le parità in ordine alfabetico, così l’ordine è completamente deterministico.

Frequenza delle parole   |   Invertite l’ordine delle parole