ruby-changes:14959
From: marcandre <ko1@a...>
Date: Sun, 7 Mar 2010 02:03:59 +0900 (JST)
Subject: [ruby-changes:14959] Ruby:r26830 (trunk): * hash.c (Hash#merge doc): Added explanation for form with block.
marcandre 2010-03-07 02:03:48 +0900 (Sun, 07 Mar 2010) New Revision: 26830 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26830 Log: * hash.c (Hash#merge doc): Added explanation for form with block. Modified files: trunk/hash.c Index: hash.c =================================================================== --- hash.c (revision 26829) +++ hash.c (revision 26830) @@ -1715,7 +1715,7 @@ * hsh.update(other_hash){|key, oldval, newval| block} => hsh * * Adds the contents of <i>other_hash</i> to <i>hsh</i>. If no - * block is specified entries with duplicate keys are overwritten + * block is specified, entries with duplicate keys are overwritten * with the values from <i>other_hash</i>, otherwise the value * of each duplicate key is determined by calling the block with * the key, its value in <i>hsh</i> and its value in <i>other_hash</i>. @@ -1750,12 +1750,16 @@ * hsh.merge(other_hash){|key, oldval, newval| block} -> a_hash * * Returns a new hash containing the contents of <i>other_hash</i> and - * the contents of <i>hsh</i>, overwriting entries in <i>hsh</i> with - * duplicate keys with those from <i>other_hash</i>. + * the contents of <i>hsh</i>. If no block is specified, the value for + * entries with duplicate keys will be that of <i>other_hash</i>. Otherwise + * the value for each duplicate key is determined by calling the block + * with the key, its value in <i>hsh</i> and its value in <i>other_hash</i>. * * 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} * */ -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/