Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby21
/
share
/
ri
/
2.1.0
/
system
/
Proc
/
//opt/alt/ruby21/share/ri/2.1.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"Jp b.curry[1, 2][3, 4] #=> wrong number of arguments (4 for 3) ;TI"Jp b.curry(5) #=> wrong number of arguments (5 for 3) ;TI"Jp b.curry(1) #=> wrong number of arguments (1 for 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"Jp b.curry(1) #=> wrong number of arguments (1 for 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