File: C:/Ruby27-x64/share/ri/2.7.0/system/Proc/curry-i.ri
U:RDoc::AnyMethod[iI"
curry:ETI"Proc#curry;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"MReturns a curried proc. If the optional <i>arity</i> argument is given, ;TI",it determines the number of arguments. ;TI"GA curried proc receives some arguments. If a sufficient number of ;TI"Narguments are supplied, it passes the supplied arguments to the original ;TI"Oproc and returns the result. Otherwise, returns another curried proc that ;TI"!takes the rest of arguments.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; ["I"4b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
;TI"(p b.curry[1][2][3] #=> 6
;TI"(p b.curry[1, 2][3, 4] #=> 6
;TI"(p b.curry(5)[1][2][3][4][5] #=> 6
;TI"(p b.curry(5)[1, 2][3, 4][5] #=> 6
;TI"(p b.curry(1)[1] #=> 1
;TI"
;TI"Kb = proc {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.inject(0, &:+) }
;TI"(p b.curry[1][2][3] #=> 6
;TI")p b.curry[1, 2][3, 4] #=> 10
;TI")p b.curry(5)[1][2][3][4][5] #=> 15
;TI")p b.curry(5)[1, 2][3, 4][5] #=> 15
;TI"(p b.curry(1)[1] #=> 1
;TI"
;TI"6b = lambda {|x, y, z| (x||0) + (y||0) + (z||0) }
;TI"(p b.curry[1][2][3] #=> 6
;TI"Vp b.curry[1, 2][3, 4] #=> wrong number of arguments (given 4, expected 3)
;TI"Vp b.curry(5) #=> wrong number of arguments (given 5, expected 3)
;TI"Vp b.curry(1) #=> wrong number of arguments (given 1, expected 3)
;TI"
;TI"Mb = lambda {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.inject(0, &:+) }
;TI"(p b.curry[1][2][3] #=> 6
;TI")p b.curry[1, 2][3, 4] #=> 10
;TI")p b.curry(5)[1][2][3][4][5] #=> 15
;TI")p b.curry(5)[1, 2][3, 4][5] #=> 15
;TI"Vp b.curry(1) #=> wrong number of arguments (given 1, expected 3)
;TI"
;TI"b = proc { :foo }
;TI"*p b.curry[] #=> :foo;T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"=prc.curry -> a_proc
prc.curry(arity) -> a_proc
;T0[ I"(*args);T@3FI" Proc;TcRDoc::NormalClass00