mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
bf70582cf3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
37 lines
487 B
Ruby
37 lines
487 B
Ruby
# 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
|