#!/usr/bin/ruby
# Translation of: https://rosettacode.org/wiki/Averages/Mode#Perl
func mode (a) {
var m = Hash.new;
a.each { |i|
m{i} := 0 ++;
}
var best = m.values.max;
m.keys.grep { m{_} == best };
};
mode([2, 7, 1, 8, 2]).dump.say;
mode([2, 7, 1, 8, 2, 8]).dump.say;
mode([1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17]).dump.say;
mode([1, 1, 2, 4, 4]).dump.say;