【发布时间】:2011-07-14 23:56:33
【问题描述】:
我是 Haskell 编程的新手。现在我正在学习 lambda 函数和 lambda 抽象。我想,lambda函数的实践部分是什么。例如我们有:
map(\x -> x * 2) [1,2,3,4,5]
[2,4,6,8,10]
这个练习部分是什么?我们可以创建普通函数并将其设置在 map 函数参数中。只是为了减少代码?那么为什么会出现这种抽象。代码减少不是什么大问题。为什么?
谢谢。
【问题讨论】:
-
我相信维基百科会回答你的问题。例如,请参阅Functional programming。
-
s/练习部分/实际目的/?
-
别忘了你可以写得更简洁:
map (*2) [1..5] -
简短的回答是“你为什么不呢?”很明显,您需要它,但它最终会让您的生活更轻松。最后,它与列表的文字语法一样出色,而不是
0:1:2:[]。我在my answer to this SO question about lambdas in Ruby 中说了一些类似的话。
标签: haskell abstraction lambda