Module: LambdaDriver::Currying
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
30 31 32 |
# File 'lib/lambda_driver/currying.rb', line 30 def self.included(klass) klass.send(:alias_method, :%, :curry) end |
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 |