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