使用GHCI我做了以下內容:失敗中容易列表操作
prelude> let lol [] = []
prelude> let lol (x:xs) = (lol xs) ++ [x]
當我嘗試評估
prelude> lol [1, 2, 3]
我得到
Exception: <interactive>:3:5-32: Non-exhaustive patterns in function lol
我想我明白這個問題(列表中有1個元素不匹配?),但看不出爲什麼他不能匹配x:xs as x:[]
'讓洛爾XS =的[]情況下XS - > []; (x:xs) - > lol xs ++ [x]'。 –