我正在做一些来自“Real World Haskell”的练习。一是设计一个安全版本的init :: [a] -> [a]
.
我应该从safeInit :: [a] -> Maybe [a]
这就是我目前所拥有的。
safeInit :: [a] -> Maybe [a]
safeInit [] = Nothing
safeInit [a] = if length [a] <= 1
then Nothing
else Just (take (length [a] -1) [a])
在 GCHi 中,测试时safeInit [1,2]
我收到错误消息
*例外:ch4exercise.hs:(21,1)-(24,44):函数 safeInit 中的非详尽模式
我的印象[a]
只是代表a
's 的列表(任何大小)。我究竟做错了什么?