Ich möchte jeden value
in einem Hash durch ersetzen value.some_method
.
Zum Beispiel für einen einfachen Hash:
{"a" => "b", "c" => "d"}`
Jeder Wert sollte .upcase
d sein, also sieht es so aus:
{"a" => "B", "c" => "D"}
Ich habe es versucht #collect
und #map
bekomme immer nur Arrays zurück. Gibt es eine elegante Möglichkeit, dies zu tun?
AKTUALISIEREN
Verdammt, ich habe vergessen: Der Hash befindet sich in einer Instanzvariablen, die nicht geändert werden sollte. Ich benötige einen neuen Hash mit den geänderten Werten, möchte diese Variable jedoch nicht explizit definieren und dann den durchlaufenden Hash durchlaufen. Etwas wie:
new_hash = hash.magic{ ... }