Я хотел бы заменить каждое value
в хеше на value.some_method
.
Например, для заданного простого хеша:
{"a" => "b", "c" => "d"}`
каждое значение должно быть .upcase
d, поэтому оно выглядит так:
{"a" => "B", "c" => "D"}
Я пробовал #collect
и #map
всегда просто возвращал массивы. Есть ли элегантный способ сделать это?
ОБНОВИТЬ
Блин, я забыл: хеш находится в переменной экземпляра, которую нельзя менять. Мне нужен новый хеш с измененными значениями, но я бы предпочел не определять эту переменную явно, а затем перебирать хеш, заполняя ее. Что-то вроде:
new_hash = hash.magic{ ... }