summaryrefslogtreecommitdiff
path: root/hash.c
diff options
context:
space:
mode:
authorBurdette Lamar <[email protected]>2025-03-07 08:34:36 -0600
committer<[email protected]>2025-03-07 09:34:36 -0500
commit42b75a9c6414eb93fdee777d87a7ad7562edf009 ()
treee6c8ffdce1d39d0512aa002923917073285660d2 /hash.c
parentf118e0ce734d7951597eddccff3695d6573589c4 (diff)
[DOC] Tweaks for Hash#merge (#12825)
Notes: Merged-By: peterzhu2118 <[email protected]>
-rw-r--r--hash.c51
1 files changed, 23 insertions, 28 deletions
@@ -4117,53 +4117,48 @@ rb_hash_update_by(VALUE hash1, VALUE hash2, rb_hash_update_func *func)
/*
* call-seq:
- * merge -> copy_of_self
* merge(*other_hashes) -> new_hash
* merge(*other_hashes) { |key, old_value, new_value| ... } -> new_hash
*
- * Returns the new +Hash+ formed by merging each of +other_hashes+
- * into a copy of +self+.
*
- * Each argument in +other_hashes+ must be a +Hash+.
*
- * ---
- *
- * With arguments and no block:
- * * Returns the new +Hash+ object formed by merging each successive
- * +Hash+ in +other_hashes+ into +self+.
- * * Each new-key entry is added at the end.
- * * Each duplicate-key entry's value overwrites the previous value.
*
* Example:
* h = {foo: 0, bar: 1, baz: 2}
* h1 = {bat: 3, bar: 4}
* h2 = {bam: 5, bat:6}
* h.merge(h1, h2) # => {foo: 0, bar: 4, baz: 2, bat: 6, bam: 5}
*
- * With arguments and a block:
- * * Returns a new +Hash+ object that is the merge of +self+ and each given hash.
- * * The given hashes are merged left to right.
- * * Each new-key entry is added at the end.
- * * For each duplicate key:
- * * Calls the block with the key and the old and new values.
- * * The block's return value becomes the new value for the entry.
*
* Example:
* h = {foo: 0, bar: 1, baz: 2}
* h1 = {bat: 3, bar: 4}
* h2 = {bam: 5, bat:6}
- * h3 = h.merge(h1, h2) { |key, old_value, new_value| old_value + new_value }
- * h3 # => {foo: 0, bar: 5, baz: 2, bat: 9, bam: 5}
*
- * With no arguments:
- * * Returns a copy of +self+.
- * * The block, if given, is ignored.
*
- * Example:
- * h = {foo: 0, bar: 1, baz: 2}
- * h.merge # => {foo: 0, bar: 1, baz: 2}
- * h1 = h.merge { |key, old_value, new_value| raise 'Cannot happen' }
- * h1 # => {foo: 0, bar: 1, baz: 2}
*/
static VALUE