我必须编写一个函数,该函数使用结果一个参数True过滤,然后使用结果另一个参数过滤False
我尝试了这个:
selectUnless :: (t -> Bool) -> (t -> Bool) -> [t] -> [t]
selectUnless fx gx (x:xs) = filter gx (filter fx (x:xs))
Run Code Online (Sandbox Code Playgroud)
但是我需要“ not gx”所在的列表。
例如:
selectUnless (>= 2) (==2) [1,2,3,4] == [3,4]
selectUnless even odd [1..50] == [2,4..50]
Run Code Online (Sandbox Code Playgroud)