标签: haskell
使用列表的两个第一个值时,我遇到了模式匹配的问题。
foo [] = [] foo (x:y:ys) = foo ys
当参数中的原始列表是2的倍数时,这可以正常工作,但不是这样。我收到一个错误陈述"函数foo"
我想知道当x:y:ys中没有y值时如何匹配模式。 (在这种情况下,模式会是什么样子?)
答案 0 :(得分:3)
foo [x] = ...
和
foo (x:[]) =
两者都匹配一个只有一个元素的列表。