in reply to [Perl6] Sort a hash by value
my %nums = ( four => 4, one => 1, three => 3, two => 2, ); for %nums.pairs.sort: { $^a.value <=> $^b.value } -> $pair { say $pair; }
(not necessarily shorter, but mentions %nums only once in the sort line).
There was also a proposal to make the sort method accept a block of arity one that automatically performs a ST, but it doesn't seem to be in the spec, and thusly isn't implemented by Rakudo right now.
Update: clinton asked in the CB what the colon after the sort was about, so here's the explanation for everybody: The are two syntax forms for method calls in Perl 6, $object.method($arg1, $arg2, ...) and $object.method: $arg1, $args, .... My example uses the latter to avoid more parenthesis.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: [Perl6] Sort a hash by value
by haoess (Curate) on Dec 12, 2008 at 19:14 UTC |
In Section
Seekers of Perl Wisdom