Ich habe ein Array und eine Funktion, die einen Wert mit einem Wert zurückgibt. Letztendlich möchte ich eine Hashmap erstellen, die die Werte des Arrays als Schlüsselwert und das Ergebnis von f (Schlüsselwert) als Wert hat. Gibt es einen sauberen, einfachen Weg, ähnlich wie bei jeder/map of Array, dies mit block zu tun?Ruby - Zuordnung eines Arrays zu hashmap
So etwas, das zu
hsh = {}
[1,2,3,4].each do |x|
hsh[x] = f(x)
end
entspricht aber sieht dies ähnlich, dass es einfach ist und eine Linie?
results = array.map { | x | f(x) }
N Beachten Sie, dass dies nicht mit Lazy-Enumeratoren funktioniert, aber ".to_h" von Ruby 2.1.0 funktioniert. –