Module: LambdaDriver::Currying

Included in:
Method, Proc, Symbol
Defined in:
lib/lambda_driver/currying.rb

Instance Method Summary collapse

Instance Method Details

#curry(arity = nil) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/lambda_driver/currying.rb', line 5

def curry(arity = nil)
  f = self.to_proc
  arity ||= __arity(f)
  return f if arity == 0

  lambda{|arg| __curry(f, arity, arg, []) }
end