Rubyで次のようなことはできますか?
hash = {:person => {:name => 'Bob', :age => 33}}
hash[:person] do |person|
person[:name] = 'Alice'
puts "Here, have a beer #{person[:name]}" if person[:age]> 17
end
私が避けようとしているのは、次のように書くことです
hash[:person][:name] = 'Alice'
puts "Here, have a beer #{hash[:person][:name]}" if hash[:person][:age] > 17
編集:私の最初の例は少し不明確だったかもしれません。値を更新するだけでなく、ブロック内のコードを実行できるようにしたいと考えています。