haskell列表列出模式匹配

时间:2016-04-07 01:00:20

标签: haskell

这是我的代码:

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 _ _) : (_ : _)

1 个答案:

答案 0 :(得分:5)

您只匹配列表中单个Cell的模式。再看一下错误消息。它会准确地告诉您需要匹配的模式。

空列表:

[]

列表中多个Cell的模式:

(Cell _ _) : (_ : _)