From: shevegen@... Date: 2017-12-20T21:29:43+00:00 Subject: [ruby-core:84379] [Ruby trunk Feature#14197] `Enumerable#{select, reject}` accept a pattern argument Issue #14197 has been updated by shevegen (Robert A. Heiler). I think this suggestion looks ok, unless I may have missed something. The main difference Kazuhiro is suggesting, appears to be the shorter notation via regex given to .reject() rather than use the (longer) block variant. Here is the link to #grep: https://ruby-doc.org/core-2.1.0/Enumerable.html#method-i-grep which shows one example: c = IO.constants c.grep(/SEEK/) #=> [:SEEK_SET, :SEEK_CUR, :SEEK_END] On a side note, while I have used .grep(), I have never used .grep_v() and it is a bit mysterious to me what grep_v does from the name alone. :) ---------------------------------------- Feature #14197: `Enumerable#{select,reject}` accept a pattern argument https://bugs.ruby-lang.org/issues/14197#change-68568 * Author: znz (Kazuhiro NISHIYAMA) * Status: Open * Priority: Normal * Assignee: * Target version: next minor ---------------------------------------- `#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: