From: Trans Date: 2005-11-06T21:17:10+09:00 Subject: Re: block returns and hash element returns #next, of course! Thank you. Okay, so use #next in place of #local_return. h1 = { :a => 1, :b => 2, :c => 3 } h2 = h1.collect { |k,v| next k => v*2 } h2 => { :a => 2, :b => 4, :c => 6 } Could do this by modifying collect to merge hashes if they are the yield result, but that's not exactly the same. since it would make it impossible to collect hashes, and it would have not advantage over the #graph method either --just substituting a hash for the array. T.