模式不匹配:Haskell

匿名的

我编写了一个函数,该函数将列表作为输入并输出其元素的总和,但是出现以下错误:“模式匹配不完全。在'addfunc'的方程式中:模式不匹配:[] ”

这是我的代码:

addfunc :: [Int] -> Int
addfunc(x:xs) = x + addfunc xs
阿玛丹

模式匹配时,您必须列出所有可能的情况,以便您的程序知道对每种可能的输入应执行的操作。在这里,可能的输入是所有整数列表,其中还包括一个空列表(零整数列表)。您的函数知道当输入包含第一个元素和其他元素时该怎么做;但是如果它应该收到一个空列表(不能分解为第一个元素和其他元素),它将不知道该怎么做。

要纠正它,只需为丢失的案例提供匹配规则,例如

addfunc [] = 0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章