Ich brauche eine Ruby-Funktion, die einen Hash als Eingabe (Schlüssel sind Symbole und Werte sind Arrays of Numerics) und gibt die Liste der Schlüssel zurück, deren zugeordnete Arrays den gleichen ersten Wert haben. HierRuby 'group_by'-ähnliche Methode für Hash
ist ein Beispiel:
h={
:k1 => [2,3,5,12],
:k2 => [9,5,6,10],
:k3 => [2,4,5, 8],
}
f(h) # should return [[:k1,:k3]]
... weil 2 erscheint als dem gleichen Wert in den beiden Feldern zugeordnet : k1 und : k3. Das return-Objekt ist ein array-Array (weil mehrere Schlüsselgruppen die gleichen ersten Array-Werte haben können).
Bisher habe ich nur die Arrays selbst gruppiert:
def f(h)
h.values.group_by{|ary| ary.first}
end
# returns {2=>[[2, 3, 5, 12], [2, 4, 5, 8]], 9=>[[9, 5, 6, 10]]}
Ich war einfach diese Methode für Hash nicht bewusst. Danke ! – JCLL