Курс языка программирования Raku / Продвинутый уровень / Подпрограммы / Вызов через двоеточие / Exercises / sort через двоеточие

Решение: sort через двоеточие

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

Код

my @words = <pear fig apple kiwi>;
say @words.sort: *.chars;

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

Вывод

(fig pear kiwi apple)

Комментарии

  1. Двоеточие передаёт ключ сортировки методу sort без необходимости оборачивать его в скобки.

  2. *.chars — это выражение Whatever, которое означает «количество символов каждого элемента». sort использует его как ключ, поэтому слова выводятся начиная с самого короткого: fig (3), затем pear и kiwi (4), затем apple (5).

  3. pear остаётся перед kiwi, потому что у них одинаковая длина, а sort является стабильной сортировкой, сохраняющей исходный порядок равных ключей.

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

sort через двоеточие   |   Тест — Вызов через двоеточие