即使我已指定模式

时间:2017-02-16 12:43:49

标签: haskell compiler-errors functional-programming pattern-matching

我在haskell中编写一个函数,用于检查某些内容是否是列表的元素。

我有以下代码:

elementOf :: Eq a => a ->[a] -> Bool
elementOf _ [] = False
elememtOf x (y:ys) = (x==y) || elementOf x ys

但是我收到以下错误:

Pattern match(es) are non-exhaustive
In an equation for ‘elememtOf’: Patterns not matched: _ []

我不明白为什么我会收到这样的错误,因为我有_ []的案例。

有谁能解释我哪里出错?

谢谢!

1 个答案:

答案 0 :(得分:6)

您错误地将最后一个模式中的函数名称拼错为elememtOf而不是elementOf