【发布时间】:2020-03-05 16:02:23
【问题描述】:
有人可以向我解释一下 lambda 在 Haskell 中的工作原理吗?
例如。 add' = \x -> (\y -> x+y) 或 foldl (\x _ -> x+1) 0 [1,2,3] == 3
我知道结果是什么,函数做了什么,但我不明白为什么我们需要 lambda 表达式或者 lambda 在函数中做了什么?
非常感谢
【问题讨论】:
-
你不需要 lambda,因为你可以定义一个函数。它只是一种编写短函数的方法。
\x -> ...部分定义了一个将x映射到...的函数。但是在您的示例中,您可以定义add' = (+)和foldl (+1) 0 [1,2,3],因此您本身不需要使用 lambda 表达式。
标签: haskell