The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#!/usr/bin/ruby
# Sort a hash by its values (highest to lowest)
var frequencies = Hash.new(
"simple" => 2,
"keep" => 4,
"it" => 3,
"stupid" => 1,
);
# Traditional way
var sorted_1 = frequencies.keys.sort({|a,b| frequencies{b} <=> frequencies{a}}).map({|key| [key, frequencies{key}]});
sorted_1.dump.say;
# Built-in way
var sorted_2 = frequencies.sort_by({|_,value| value}).reverse;
sorted_2.dump.say;
# The results should be identical
sorted_2 == sorted_1 || "Error!\n".die;