From: shortcutter@... Date: 2014-12-23T13:15:50+00:00 Subject: [ruby-core:67067] [ruby-trunk - Feature #7883] Add Regex#to_proc Issue #7883 has been updated by Robert Klemme. Nobuyoshi Nakada wrote: > Nothing, and line 10 is possible with `grep` > > ~~~ruby > %w{foo bar baz}.grep(/\Ab/) {|s|break s} > ~~~ Yes, but a bit lengthy. > Anyway, a patch. Cool! Thanks a lot! ---------------------------------------- Feature #7883: Add Regex#to_proc https://bugs.ruby-lang.org/issues/7883#change-50583 * Author: Robert Klemme * Status: Open * Priority: Normal * Assignee: Yukihiro Matsumoto * Category: core * Target version: next minor ---------------------------------------- Just a small addition to the standard library: ~~~ruby class Regexp def to_proc; lambda {|s| self =~ s} end end ~~~ With that one can use a `Regexp` everywhere a `Proc` is used as filtering criteria saving a bit of typing. While we have `Enumerable#grep` already there may be other cases where you want to do something like ~~~ruby irb(main):008:0> %w{foo bar baz}.select &/\Ab/ => ["bar", "baz"] irb(main):009:0> %w{foo bar baz}.reject &/\Ab/ => ["foo"] irb(main):010:0> %w{foo bar baz}.find &/\Ab/ => "bar" ~~~ Note: line 9 and 10 are not possible with `Enumerable#grep` AFAIK. I see low risk of breaking something. -- https://bugs.ruby-lang.org/