【发布时间】:2013-04-27 06:08:21
【问题描述】:
在 ZVON 上,为 takeWhile 函数提供的定义之一是
Input: takeWhile (\x -> 6*x < 100) [1..20]
Output: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
有人能解释一下(\x -> 6*x < 100)这部分是什么意思吗?
【问题讨论】:
-
它在“Learn you a Haskell”(或在文档中?)中说 \ 应该看起来像 lambda 希腊字母:λ。 Here 是 Haskell 关于匿名函数的文档
-
马里亚诺,你为什么不把你的答案作为答案发布?
-
(\x -> 6*x < 100)与((<100).(6*))相同。 -
.是什么意思? -
(.) f g x = (f .) g x = (. g) f x = (f . g) x = f (g x)。所以((<100).(6*)) x = (<100) ( (6*) x) = (<100) (6*x) = (6*x)<100。爱荷华州,((<100).(6*)) = \x -> (6*x)<100。另见:stackoverflow.com/questions/13139969/…
标签: haskell