diff --git a/ChangeLog b/ChangeLog index 02260976f46197..15f164e096c5eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Dec 15 10:44:54 2011 Nobuyoshi Nakada + + * array.c (rb_ary_reject_bang, rb_ary_delete_if): update rdoc. + documentation from Thomas Leitner in + [ruby-core:41616]. [Bug #5752] + Thu Dec 15 10:10:43 2011 Nobuyoshi Nakada * test/ruby/test_require.rb (test_race_exception): get rid of diff --git a/array.c b/array.c index cfe44a901564fe..01cabc87b9813c 100644 --- a/array.c +++ b/array.c @@ -2643,6 +2643,8 @@ ary_reject_bang(VALUE ary) * Equivalent to Array#delete_if, deleting elements from * +self+ for which the block evaluates to true, but returns * nil if no changes were made. + * The array is changed instantly every time the block is called and + * not after the iteration is over. * See also Enumerable#reject and Array#delete_if. * * If no block is given, an enumerator is returned instead. @@ -2687,6 +2689,8 @@ rb_ary_reject(VALUE ary) * * Deletes every element of +self+ for which +block+ evaluates * to true. + * The array is changed instantly every time the block is called and + * not after the iteration is over. * See also Array#reject! * * If no block is given, an enumerator is returned instead. diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index 8f1d53d933f58a..28d3e4156b55be 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -610,7 +610,7 @@ def test_delete_if bug2545 = '[ruby-core:27366]' a = @cls[ 5, 6, 7, 8, 9, 10 ] - assert_equal(9, a.delete_if {|i| break i if i > 8; i < 7}) + assert_equal(9, a.delete_if {|i| break i if i > 8; assert_equal(a[0], i) || true if i < 7}) assert_equal(@cls[7, 8, 9, 10], a, bug2545) end @@ -1098,7 +1098,7 @@ def test_reject! bug2545 = '[ruby-core:27366]' a = @cls[ 5, 6, 7, 8, 9, 10 ] - assert_equal(9, a.reject! {|i| break i if i > 8; i < 7}) + assert_equal(9, a.reject! {|i| break i if i > 8; assert_equal(a[0], i) || true if i < 7}) assert_equal(@cls[7, 8, 9, 10], a, bug2545) end