(1.9.3)理由コードが配列値を変更しない:ルビーハッシュ可変性
arr = ['a', 'b', 'c']
arr.each do |e|
e = 'new string'
end
このコードが項目Bで変化ハッシュを行いながら:
hashh = {
'item-a' => 1,
'item-b' => [
{'id'=>'a','name'=>'name-a'},
{'id'=>'b', 'name'=>'name-b'}
]
}
hashh['item-b'].each do |e|
e['name'] = 'new-name'
end
を
私は各は私はハッシュを変更することができない理由により、値を変更するには、アレイ上マップを使用することができることを知っているが、ではない配列の値は?
[Array#each vs. Array#map](https://stackoverflow.com/questions/5254128/arrayeach-vs-arraymap)の可能な複製 – anothermh
'Array#each'では、値を変更することができます。それぞれ{| e | e.replace '新しい文字列'} '。 – mudasobwa