Method: Tins::PartialApplication#partial
- Defined in:
- lib/tins/partial_application.rb
#partial(*args) ⇒ Object
Create a partial application of this Proc (or similar object) using args as the already applied arguments.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tins/partial_application.rb', line 17 def partial(*args) if args.empty? dup elsif args.size > arity raise ArgumentError, "wrong number of arguments (#{args.size} for #{arity})" else f = lambda { |*b| call(*(args + b)) } f.instance_variable_set :@__arity__, arity - args.size f end end |