Haskell 函数中的非穷举模式

Fed*_*edo 1 haskell

我需要实现在列表头部插入两个元素的函数,但我得到

Exception: <interactive>:7:5-41: Non-exhaustive patterns in function addTwoElements
Run Code Online (Sandbox Code Playgroud)

该函数的代码如下

addTwoElements a b [xs]= a : b : [xs]
Run Code Online (Sandbox Code Playgroud)

提前致谢

Wil*_*sem 7

模式 like[xs]意味着您只匹配包含恰好一个元素(并且该元素是xs)的列表。

xs例如,您可以在这里使用变量并编写如下addTwoElements函数:

addTwoElements :: a -> a -> [a] -> [a]
addTwoElements a b xs = a : b : xs
Run Code Online (Sandbox Code Playgroud)