diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-26 20:14:49 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-26 20:14:49 +0000 |
commit | 5768a4a7e051963db769b5aafe8aadc6bc97f867 (patch) | |
tree | 79a9b2415c1b172bd1d5deac9ef2e8e6a6732780 | |
parent | cd246ff2545cd5399e98ff93eda29ba57e44cc85 (diff) | |
download | ruby-5768a4a7e051963db769b5aafe8aadc6bc97f867.tar.gz |
* array.c: Fix rdoc for Array#delete [#7437]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | array.c | 6 | ||||
-rw-r--r-- | test/ruby/test_array.rb | 8 |
2 files changed, 11 insertions, 3 deletions
@@ -2735,12 +2735,12 @@ ary_resize_smaller(VALUE ary, long len) /* * call-seq: - * ary.delete(obj) -> obj or nil - * ary.delete(obj) { block } -> obj or nil + * ary.delete(obj) -> item or nil + * ary.delete(obj) { block } -> item or result of block * * Deletes all items from +self+ that are equal to +obj+. * - * If any items are found, returns +obj+, otherwise +nil+ is returned instead. + * Returns the last deleted item, or +nil+ if no matching item is found. * * If the optional code block is given, the result of the block is returned if * the item is not found. (To remove +nil+ elements and get an informative diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index 6c447c2626..6c7f920d79 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -598,6 +598,14 @@ class TestArray < Test::Unit::TestCase a = @cls[*('cab'..'cat').to_a] assert_equal(99, a.delete('cup') { 99 } ) assert_equal(@cls[*('cab'..'cat').to_a], a) + + o = Object.new + def o.==(other); true; end + o2 = Object.new + def o2.==(other); true; end + a = @cls[1, o, o2, 2] + assert_equal(o2, a.delete(42)) + assert_equal([1, 2], a) end def test_delete_at |