首页 文章

非穷举模式[关闭]

提问于
浏览
0

因此,我创建一个函数,如果a等于列表中任何对的fst元素,则该函数为true

elemMSet :: Eq a => a -> [(a,Int)] -> Bool
 elemMset a [] = False
 elemMSet a ((t,q):xs)| a==t = True
                      | otherwise = elemMSet a xs

我不承认为什么,当我尝试一些应该给出False的东西时,它显示了非详尽模式的错误:

elemMSet 'd' [('b',2), ('a',4), ('c',1)]

错误:

Tseis.hs:(4,1)-(5,48): Non-exhaustive patterns in function elemMSet

1 回答

  • 3

    您拼错了第2行的函数名称,因此 elemMSet 仅涵盖非空案例 . 将第2行的名称更改为 elemMSet (使用大写字母S),它将正常工作 .

相关问题