- Lambdas是匿名函数,通常在只需要某个函数一次时使用
- 我们通常创建lambdas函数的唯一目的是将它们传递给高阶函数
- 要创建一个lambda,写入\,然后用写入用空格分离的参数,然后写入->,然后写函数体
- 我们通常用括号把它们括起来
如下
zipWith (\ a b -> (a * 30 + 3) / b) [5,4,3,2,1] [1,2,3,4,5]
lambda可以使用模式,如下
map (\ (a, b) -> a + b) [(1,2), (3,5), (6,3), (2,6)]
因为函数默认是curred,这两个定义是相同的,如下
addThree :: Num a => a -> a -> a -> a
addThree x y z = x + y + z
addThree :: Num a => a -> a -> a -> a
addThree = \ x -> \ y -> \ z -> x + y + z