diff --git a/lib/functional.rb b/lib/functional.rb index 632ae9d..3ddfab0 100644 --- a/lib/functional.rb +++ b/lib/functional.rb @@ -1,22 +1,28 @@ -class NotRegexp - def initialize r - @rx = r - end - def match l - ! @rx.match( l) - end - def =~ l - ! @rx =~ l +class ::Regexp + class NegRegexp + def initialize r + @rx = r + end + def match l + ! @rx.match( l) + end + def =~ l + ! @rx =~ l + end + def -@ + @rx + end end + def -@ - @rx + NegRegexp.new self end end -class Regexp - def -@ - NotRegexp.new self +class ::Object + def functional meth = nil + Functional.new self, meth end end @@ -37,6 +43,10 @@ class Functional def end @next.end end + + def to_proc + method( :call).to_proc + end end class Collect