Raku-Kurs / Anhang 🆕 / Arbeiten mit Daten / Text und Zeichenketten / Exercises / Worthäufigkeit

Lösung: Worthäufigkeit

Hier ist eine mögliche Lösung der Aufgabe.

Code

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}";
}

🦋 Du findest den Quellcode in der Datei word-frequency.raku.

Ausgabe

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

Kommentare

  1. $text.words liefert die Wörter; %freq{$_}++ erhöht für jedes einen Zähler und legt den Schlüssel beim ersten Auftreten an.

  2. Das Sortieren nach -.value stellt die häufigsten voran; .key als zweites Sortierfeld löst Gleichstände alphabetisch auf, die Reihenfolge ist damit vollständig bestimmt.

Kursnavigation

Worthäufigkeit   |   Die Wortreihenfolge umkehren