Zählen der verschiedenen Elemente in einem Array

Ich habe ein Array:

a = [1, 2, 3, 3, 6, 8, 1, 9]

Ich möchte jeden eindeutigen Elementwert und die zugehörige Elementanzahl folgendermaßen anzeigen:

1: 2
2: 1
3: 2
6: 1
8: 1
9: 1

So weit ich habe:

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
  ]
}

So enthält jedes Element des Hash ein Array. Ich kann die Anzahl dieses Arrays verwenden, um meine Antwort zu erhalten, aber ich habe Probleme, herauszufinden, wie ich den Hash präzise verarbeiten kann.

Ist das eine schreckliche Implementierung?

a.sort.group_by { |x| x }.each {|x| puts "#{x[0]} #{x[1].count}" }

Antworten auf die Frage(8)

Ihre Antwort auf die Frage