函数映射(fn,default,list){}const MAPK=curry。固定(地图)常量正方形=a=>;a**2mapk(正方形)(0)([1,2,3,4,NULL])//[1,4,9,16,0]//或重用常量mapSquare=MAPK(正方形)(0)mapSquare([1,2,3,4,NULL])//[1,4,9,16,0]。
Const add=(a,b)=>;a+b const add4=咖喱。Op(add,4)add4(1)(3)(5)(10)add4(1)(3,5)(10)add4(1,3,5,10)//19 const addInfty=curry。Op(add,Infinity)//()结束addInfty(1)(1)(1)(1)(1)()//6 const add4Lazy=curry。Op(add,4,true)//与add4相同,但在末尾求值。
Const altSum=(a,b,i)=>;a+(-1)**i*b const altSum5=咖喱。Op(altSum,5)//(a,b,c,d,e)=>;a-b+c-d+e altSum5(1)(2)(3)(4,5)//1-2+3-4+5//3。
与一次接受所有参数的函数不同,Curry一个接一个地接受参数。