OMG-Curry-功能完整的JavaScript咖喱库,带无限咖喱

2020-08-11 05:41:19

函数映射(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一个接一个地接受参数。