From: info@... Date: 2018-03-21T15:49:12+00:00 Subject: [ruby-core:86247] [Ruby trunk Feature#14197] `Enumerable#{select, reject}` accept a pattern argument 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: