相关疑难解决方法(0)

例外:功能中的非详尽模式

尝试创建一个从列表中删除重复项的函数,并将其替换为单个元素.继续收到错误消息"函数removedplicate中的非穷举模式".我认为这意味着我的模式匹配缺少可能的情况?我想我已经涵盖了所有的可能性.我对Haskell很新,所以非常感谢任何帮助.

removeduplicate :: (Eq a) => [a] -> [a]
removeduplicate [] = []
removeduplicate (x:[]) = [x]
removeduplicate (x:z:[]) = if z == x then [x] else (x:z:[])
removeduplicate (x:y:[xs])
    | x == y = x:(removeduplicate [xs])
    | otherwise = x:y:(removeduplicate [xs])
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming runtime-error

5
推荐指数
2
解决办法
2285
查看次数