flatten added
This commit is contained in:
parent
28dee69c07
commit
95a3027926
|
@ -154,6 +154,12 @@ class Functional
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Flatten <Base
|
||||||
|
def call a
|
||||||
|
Array === a ? a.each( &method( :call)) : @next.call( a)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class Reduce <Base
|
class Reduce <Base
|
||||||
def initialize iv, *a, &e
|
def initialize iv, *a, &e
|
||||||
super *a, &e
|
super *a, &e
|
||||||
|
@ -218,6 +224,10 @@ class Functional
|
||||||
push TopDown.new( init, &exe)
|
push TopDown.new( init, &exe)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def flatten
|
||||||
|
push Flatten.new
|
||||||
|
end
|
||||||
|
|
||||||
def each &exe
|
def each &exe
|
||||||
return self unless exe
|
return self unless exe
|
||||||
push Each.new
|
push Each.new
|
||||||
|
|
Reference in a new issue