Class: Method
Instance Method Summary collapse
-
#apply(*args) ⇒ Object
Curries this Method and partially applies parameters.
-
#curry(n = nil) ⇒ Object
Returns a curried proc.
-
#to_iter(*args) ⇒ Object
Creates a new Iterator for this method, initially invoked on this method’s receiver.
Instance Method Details
#apply(*args) ⇒ Object
Curries this Method and partially applies parameters. If a sufficient number of arguments are supplied, it passes the supplied arguments to the original proc and returns the result. Otherwise, returns another curried proc that takes the rest of arguments.
41 42 43 |
# File 'lib/mug/apply.rb', line 41 def apply(*args) curry.call(*args) end |
#curry(n = nil) ⇒ Object
Returns a curried proc. If the optional arity argument is given, it determines the number of arguments. A curried proc receives some arguments. If a sufficient number of arguments are supplied, it passes the supplied arguments to the original proc and returns the result. Otherwise, returns another curried proc that takes the rest of arguments.
25 26 27 28 29 30 31 |
# File 'lib/mug/apply.rb', line 25 def curry(n=nil) if n to_proc.curry n else to_proc.curry end end |