Prelude> let filter' p (x:xs) | p x = x : filter' p xs | otherwise = filter' p xs
Prelude> let filter' _ [] = []
Prelude> filter' odd [1..10]
*** Exception: <interactive>:1:5-21: Non-exhaustive patterns in function filter'
我缺少什么模式?
Prelude> :{
Prelude| let filter' p (x:xs)
Prelude| | p x = x : filter' p xs
Prelude| | otherwise = filter' p xs
Prelude| let filter' _ [] = []
Prelude| :}
<interactive>:2:5: parse error (possibly incorrect indentation)
在ghci中定义这个(语法上)的惯用方法是什么? 在定义以下子句之前需要留下多少空间才能将等号=
对齐?关于:{}: 有更好的方法吗?