1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/eregex.rb

38 lines
487 B
Ruby
Raw Normal View History

# this is just a proof of concept toy.
class RegOr
def initialize(re1, re2)
@re1 = re1
@re2 = re2
end
def =~ (str)
@re1 =~ str or @re2 =~ str
end
end
class RegAnd
def initialize(re1, re2)
@re1 = re1
@re2 = re2
end
def =~ (str)
@re1 =~ str and @re2 =~ str
end
end
class Regexp
def |(other)
RegOr.new(self, other)
end
def &(other)
RegAnd.new(self, other)
end
end
if __FILE__ == $0
p "abc" =~ /b/|/c/
p "abc" =~ /b/&/c/
end