From: "Haase, Konstantin" Date: 2011-04-29T22:02:20+09:00 Subject: [ruby-core:35948] Re: [Ruby 1.9 - Feature #4632][Open] Regexp instance method | for creating Regexp.unions I like it for Regexp, but a string method would violate the POLS, imho. Konstantin On Apr 29, 2011, at 14:59 , Jan Lelis wrote: > > Issue #4632 has been reported by Jan Lelis. > > ---------------------------------------- > Feature #4632: Regexp instance method | for creating Regexp.unions > http://redmine.ruby-lang.org/issues/4632 > > Author: Jan Lelis > Status: Open > Priority: Normal > Assignee: > Category: > Target version: > > > Regexp.union is a great feature, but it is rarely used. I can imagine, the following syntax would be quite popular: > > For example: > /Ruby\d/ | /test/i | "cheat" #=> Regexp.union( Regexp.union( /Ruby\d/, /test/i ), "cheat" ) > > It would also be cool as String method, so one can do: > "jruby" | "rbx" #=> /jruby|rbx/ > > Example implementation: > class Regexp > def |(arg) > Regexp.union self, arg.is_a?(Regexp) ? arg : arg.to_s > end > end > > class String > def |(arg) > Regexp.union self, arg.is_a?(Regexp) ? arg : arg.to_s > end > end > > > -- > http://redmine.ruby-lang.org >