我试图整理一个递归函数来计算列表中偶数元素的数量,到目前为止这是我想出的,但显然对于那些有这种语言经验的人来说,看看问题是什么,错误信息在我输入列表之后才会发生,我不知道它的含义是什么,任何帮助都将不胜感激
evenNumCount [] = []
evenNumCount (x:xs)
| ev == True = 1 + (evenNumCount xs )
| otherwise = evenNumCount xs
where ev = even x
答案 0 :(得分:5)
你的基本情况应该是:
evenNumCount [] = 0
如果您查看GCHi中evenNumCount
定义的类型,则为
evenNumCount :: (Integral t, Num [a]) => [t] -> [a]
当你想要它
时evenNumCount :: (Integral t, Num a) => [t] -> a