Class: Method

Inherits:
Object show all
Defined in:
lib/mug/apply.rb,
lib/mug/iterator/method.rb

Instance Method Summary collapse

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.



39
40
41
# File 'lib/mug/apply.rb', line 39

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.



24
25
26
27
28
29
30
# File 'lib/mug/apply.rb', line 24

def curry(n=nil)
	if n
		to_proc.curry n
	else
		to_proc.curry
	end
end

#to_iter(*args) ⇒ Object

Creates a new Iterator for this method, initially invoked on this method’s receiver.



9
10
11
# File 'lib/mug/iterator/method.rb', line 9

def to_iter *args
	Iterator.new receiver, name, *args
end