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 arity 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::BlankLineo: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"(p1 = v1);T@3FI" Proc;TcRDoc::NormalClass00