From 76d141c1012fd473a69e16761999698cbd560ab9 Mon Sep 17 00:00:00 2001 From: Denis Knauf Date: Sun, 23 May 2010 22:20:53 +0200 Subject: [PATCH] NotRegexp -> NegRegexp. #map implemented. very simple. #reduce: not yet. --- lib/functional.rb | 64 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 18 deletions(-) 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