我是Haskell的新手,我需要实现一个像InvalidOperationException
一样的函数,但它需要用any
来实现。这就是我现在所拥有的:
foldl
答案 0 :(得分:1)
foldl
通常应用为foldl (\acc x -> <newAcc>) <startingValue> <list>
,其中<starting value>
是acc
的初始值,因此在您的情况下False
可能合适,<newAcc>
1}}是基于x
(列表元素)和acc
(累加器的当前值)的评估计算的。最后返回累加器。对于计算新累加器,如果满足条件,则希望它为True
,如果不满足,则为旧累加器。您的功能可能看起来像这样:
myAny predicate list = foldl (\acc x -> if predicate x then True else acc) False list
希望有所帮助...但不要回应它,请查看learn you a Haskell for great good's chapter on this