From 69fd8a9011b7a3a911b9546104ce6acb962a4a94 Mon Sep 17 00:00:00 2001 From: marcandre Date: Sat, 6 Mar 2010 17:03:48 +0000 Subject: * hash.c (Hash#merge doc): Added explanation for form with block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- hash.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'hash.c') diff --git a/hash.c b/hash.c index 5eba21654e..dda685012c 100644 --- a/hash.c +++ b/hash.c @@ -1715,7 +1715,7 @@ rb_hash_update_block_i(VALUE key, VALUE value, VALUE hash) * hsh.update(other_hash){|key, oldval, newval| block} => hsh * * Adds the contents of other_hash to hsh. If no - * block is specified entries with duplicate keys are overwritten + * block is specified, entries with duplicate keys are overwritten * with the values from other_hash, otherwise the value * of each duplicate key is determined by calling the block with * the key, its value in hsh and its value in other_hash. @@ -1750,12 +1750,16 @@ rb_hash_update(VALUE hash1, VALUE hash2) * hsh.merge(other_hash){|key, oldval, newval| block} -> a_hash * * Returns a new hash containing the contents of other_hash and - * the contents of hsh, overwriting entries in hsh with - * duplicate keys with those from other_hash. + * the contents of hsh. If no block is specified, the value for + * entries with duplicate keys will be that of other_hash. Otherwise + * the value for each duplicate key is determined by calling the block + * with the key, its value in hsh and its value in other_hash. * * h1 = { "a" => 100, "b" => 200 } * h2 = { "b" => 254, "c" => 300 } * h1.merge(h2) #=> {"a"=>100, "b"=>254, "c"=>300} + * h1.merge(h2){|key, oldval, newval| newval - oldval} + * #=> {"a"=>100, "b"=>54, "c"=>300} * h1 #=> {"a"=>100, "b"=>200} * */ -- cgit v1.2.3