Issue #14197 has been updated by xavriley (Xavier Riley).


This issue is also related https://bugs.ruby-lang.org/issues/9602

One interesting point there is the case where a pattern and a block are given:

~~~ ruby
%w{ant bear cat}.select(/bear/) {||x| x === "cat" }
~~~

This issue also applies to the implementation from the linked issue for `#all?(pattern)`but this is already implemented

~~~ ruby
>> %w{ant bear cat}.all?(String) {|x| x === Integer }
=> true
~~~

----------------------------------------
Feature #14197: `Enumerable#{select,reject}` accept a pattern argument
https://bugs.ruby-lang.org/issues/14197#change-71148

* Author: znz (Kazuhiro NISHIYAMA)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
`#all?`, `#any?`, `#none?`, and `#one?` accept a pattern argument since 2.5.0.
But `#select`, and `#reject` don't.

The features are exist as `#grep`, and `#grep_v`, but there are hard to remember for me when I use `#select`, or `#reject`.

So I want to write

```ruby
collection.reject(/re/)
```

instead of

```ruby
collection.reject {|item| /re/ =~ item }
```

nor

```ruby
collection.grep_v(/re/)
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>