haskell计数偶数在列表中

时间:2014-11-01 12:31:39

标签: haskell

我试图整理一个递归函数来计算列表中偶数元素的数量,到目前为止这是我想出的,但显然对于那些有这种语言经验的人来说,看看问题是什么,错误信息在我输入列表之后才会发生,我不知道它的含义是什么,任何帮助都将不胜感激

evenNumCount  [] = []
evenNumCount  (x:xs)
    | ev == True    = 1 + (evenNumCount xs )
    | otherwise     = evenNumCount xs
    where ev    = even x

1 个答案:

答案 0 :(得分:5)

你的基本情况应该是:

evenNumCount [] = 0

如果您查看GCHi中evenNumCount定义的类型,则为

evenNumCount :: (Integral t, Num [a]) => [t] -> [a]

当你想要它

evenNumCount :: (Integral t, Num a) => [t] -> a