我有这段代码
andAll :: [Bool] -> Bool
andAll (x:xs) = x && andAll xs
当我运行它时,经过一些研究后它给了我'*** Exception: worksheet5.hs:80:1-30: Non-exhaustive patterns in function andAll'
似乎我需要为空列表添加一个案例。我不太确定如何指定这个,我尝试了andAll [] = []
,但这仍然给出了错误。
答案 0 :(得分:5)
模式(x:xs)
仅匹配具有至少一个元素的序列。您需要添加一个模式以匹配空序列。
andAll :: [Bool] -> Bool
andAll (x:xs) = x && andAll xs
andAll [] = True