diff options
| author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-03-06 17:18:53 +0000 |
|---|---|---|
| committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-03-06 17:18:53 +0000 |
| commit | b04536fadf378c24f871f743b96e40f22ca74adc (patch) | |
| tree | c507ef38e1c7d59180af6e9dd68e7c0e281cc9cb | |
| parent | 1a5a2bae57d89cd1c74395dcb7f28c84ebf97a3c (diff) | |
* hash.c (Hash#merge doc): Added explanation for form with block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | hash.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1828,12 +1828,16 @@ rb_hash_update(hash1, hash2) * 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} * */ |
