Курс Raku / Додаток 🆕 / Робота з даними / Текст і рядки / Вправи / Частота слів

Розв’язання: Частота слів

Ось одне з можливих розв’язань задачі.

Код

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

🦋 Знайдіть програму у файлі word-frequency.raku.

Вивід

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

Коментарі

  1. $text.words дає слова; %freq{$_}++ збільшує лічильник для кожного, створюючи ключ під час першої зустрічі.

  2. Сортування за -.value ставить найчастіші попереду; додавання .key другим полем сортування розводить нічиї за абеткою, тож порядок цілком детермінований.

Навігація курсом

Частота слів   |   Зворотний порядок слів