split :: [a] -> Int -> ([a], [a])
split [xs] n =
(take n [xs], drop n [xs])
Run Code Online (Sandbox Code Playgroud)
如果我将变量xs改为代替,则相同的代码可以工作[xs],签名在两种情况下都相同.使用[xs]给出了模式非穷举的错误.我理解这说明我提供的输入不在我的代码中,但不清楚幕后发生了什么.
测试输入:[1,2,3] 2.
haskell ×1