Курс языка программирования Raku / Продвинутый уровень / Подпрограммы / Вызов через двоеточие / Exercises / sort через двоеточие
Решение: sort через двоеточие
Вот возможное решение задачи.
Код
my @words = <pear fig apple kiwi>;
say @words.sort: *.chars;🦋 Исходный код можно найти в файле colon-sort.raku.
Вывод
(fig pear kiwi apple)Комментарии
Двоеточие передаёт ключ сортировки методу
sortбез необходимости оборачивать его в скобки.*.chars— это выражение Whatever, которое означает «количество символов каждого элемента».sortиспользует его как ключ, поэтому слова выводятся начиная с самого короткого:fig(3), затемpearиkiwi(4), затемapple(5).pearостаётся передkiwi, потому что у них одинаковая длина, аsortявляется стабильной сортировкой, сохраняющей исходный порядок равных ключей.