0
我在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: _ []
我不明白爲什麼我得到這樣的錯誤,因爲我有一個案例_ [ ]。
任何人都可以解釋我要去哪裏錯了嗎?
謝謝!
我推薦用'-Wall'編譯,它會在編譯時通知你非窮舉模式以及沒有類型簽名的函數 – jberryman