[#] [Перевод] .sort'ировка в Perl 6
habrabot(difrex,1) — All
2015-09-29 08:00:12


Сортировка списков – очень распространённая задача в программировании, и в Perl 6 есть несколько улучшений функции sort, помогающих вам решить такую задачу. В языке есть обыкновенный типичный sort:

# сортировка по умолчанию с учётом типа
my @sorted = @unsorted.sort; # или sort @unsorted;


Как и в Perl 5, можно настраивать функцию для сравнения:

# численное сравнение
my @sorted = @unsorted.sort: { $^a <=> $^b };




# то же, с использованием функциональной семантики
my @sorted = sort { $^a <=> $^b }, @unsorted;




# строковое сравнение ( как cmp в Perl 5 )
my @sorted = @unsorted.sort: { $^a leg $^b };




# сравнение с учётом типа
my @sorted = @unsorted.sort: { $^a cmp $^b };


Если записать условие сравнения в скобках, тогда вам не понадобится двоеточие. Это удобно, когда вы хотите выстроить цепочку из других методов, тянущуюся за sort:

my @topten = @scores.sort( { $^b <=> $^a } ).list.munch(10);


[Читать дальше →][1]

[1]: http://habrahabr.ru/post/267887/#habracut