# \[ruby-trunk - Bug #10722\] \[Open\] Array#keep\_if is borked if user calls 'break'

**URL:** <https://www.ruby-forum.com/t/ruby-trunk-bug-10722-open-array-keep-if-is-borked-if-user-calls-break/233757>\
**Category:** Development\
**Created:** [January 9, 2015, 9:53am UTC](https://www.ruby-forum.com/t/ruby-trunk-bug-10722-open-array-keep-if-is-borked-if-user-calls-break/233757 "2015-01-09T09:53:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [January 9, 2015, 9:53am UTC](https://www.ruby-forum.com/t/ruby-trunk-bug-10722-open-array-keep-if-is-borked-if-user-calls-break/233757/1 "2015-01-09T09:53:01Z")

</div>

Issue #10722 has been reported by \_ wanabe.

* * *

Bug #10722: Array#keep\_if is borked if user calls ‘break’

> **[Bug #10722: Array#keep\_if is borked if user calls 'break' - Ruby master -...](https://bugs.ruby-lang.org/issues/10722)**
>
> Redmine

- Author: \_ wanabe
- Status: Open
- Priority: Normal
- Assignee:
- Category:
- Target version:
- ruby -v: ruby 2.3.0dev (2015-01-09 trunk 49192) [x86\_64-darwin14]
- Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN

* * *

ref. [Bug #2545]

```auto
$ ruby -e 'a = [5,6,7,8,9,10]; a.keep_if { |x| break if x > 8; x >= 7 }; 
p a'
[7, 8, 7, 8, 9, 10]
$ ruby -e 'a = [5,6,7,8,9,10]; a.delete_if { |x| break if x > 8; x < 7 
}; p a'
[7, 8, 9, 10]

```

I was expecting the above scripts to be same results.
