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