Подсчет отдельных элементов в массиве
У меня есть массив:
a = [1, 2, 3, 3, 6, 8, 1, 9]
Я хочу отобразить каждое уникальное значение элемента и количество связанных элементов следующим образом:
1: 2
2: 1
3: 2
6: 1
8: 1
9: 1
Пока что у меня есть:
a.sort.group_by { |x| x }
{
1 => [
[0] 1,
[1] 1
],
2 => [
[0] 2
],
3 => [
[0] 3,
[1] 3
],
6 => [
[0] 6
],
8 => [
[0] 8
],
9 => [
[0] 9
]
}
Таким образом, каждый элемент хэша содержит массив. Я могу использовать счет этого массива, чтобы получить мой ответ, но у меня возникают проблемы с выяснением, как обрабатывать хэш кратко.
Это ужасная реализация?
a.sort.group_by { |x| x }.each {|x| puts "#{x[0]} #{x[1].count}" }