对于初学者Haskell课程的家庭作业的一部分,我正在尝试编写一个程序,该程序将获取一对布尔值列表,并返回来自布尔值对的布尔值列表,它们之间有一个“&&”。例如...
andandbool [(True,True),(True,False),(False,True),(False,False)]
会返回:
[True, False, False, False]
然而,我总是遇到麻烦。我的代码看起来像这样。
andandbool :: [(Bool,Bool)] -> [Bool]
andandbool [a] = [fst x && snd x | x <- [a]]
当我只提供一对列表时它工作正常,但当我输入多对列表时报告“函数和布尔的非详尽模式”。我是否缺少某种列表理解?任何指向正确方向的指针将不胜感激。