所以我创建了这个函数,给我列表中的“n”个第一个元素,“(b:bs);
1 module Sexta where
2
3 take6::Int->[a]->[a]
4 take6 n (b:bs) = if n<=0 then []
5 else [b] ++ (take6 (n-1) bs)
问题是当我尝试: 时take6 2 []
,它显示:
*** Exception: sexta.hs:(4,1)-(6,15): Non-exhaustive patterns in function take6
我不为什么,因为当我手动尝试时:
take6 2 []
= [] ++take6 1 []
= [] ++[]++take6 0 []
= [] ++[]++[]
= []