使用foldl实现任何

时间:2017-04-05 01:20:55

标签: haskell

我是Haskell的新手,我需要实现一个像InvalidOperationException一样的函数,但它需要用any来实现。这就是我现在所拥有的:

foldl

1 个答案:

答案 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