2014-09-10 59 views
1

使用列表的兩個第一個值時,我遇到了模式匹配問題。使用列表的前兩個值時的模式匹配

foo [] = [] 
foo (x:y:ys) = foo ys 

當參數中的原始列表是2的倍數,但不是其他情況時,這可以正常工作。我得到一個錯誤,指出「函數foo中的非窮舉模式」

我想知道在x:y:ys中沒有y值時如何匹配模式。 (將圖案看起來像在這種情況下怎麼辦?)

回答

3
foo [x] = ... 

foo (x:[]) = 

都匹配只有一個元素的列表。