这是我的代码:
newcell :: [Cell] -> [Cell]
newcell [Cell {cellPosition = cp, cellState = cs}]
= [Cell {cellPosition = cp, cellState = (nextCellState cs)}]
nextCellState
只是一个函数,但它表示无法匹配模式。
src/StudentSources/LangtonsAnt.hs:141:1: Warning:
Pattern match(es) are non-exhaustive
In an equation for ‘newcell’:
Patterns not matched:
[]
(Cell _ _) : (_ : _)
答案 0 :(得分:5)
您只匹配列表中单个Cell的模式。再看一下错误消息。它会准确地告诉您需要匹配的模式。
空列表:
[]
列表中多个Cell的模式:
(Cell _ _) : (_ : _)