Курс языка программирования Raku / Приложение 🆕 / Собираем всё вместе / Смешанные мини-проекты / Exercises / Текстовая гистограмма

Решение: Текстовая гистограмма

Вот один из возможных вариантов решения задачи.

Код

my %sales = apples => 5, pears => 3, plums => 8;

for %sales.sort -> $pair {
    say "{$pair.key}\t{ '#' x $pair.value }";
}

🦋 Исходный код можно найти в файле histogram.raku.

Вывод

apples	#####
pears	###
plums	########

Комментарии

  1. Полосы строит оператор повторения строк x: '#' x 5 даёт #####. Значение попросту становится длиной полосы.

  2. \t между подписью и полосой — символ табуляции, благодаря которому полосы выстраиваются в столбец, а не начинаются сразу за именами разной длины.

Навигация по курсу

Текстовая гистограмма   |   Сгруппируйте анаграммы