根据我的理解,Haskell filter函数filter a bs将从a列表中过滤掉所有内容bs.
有一个简单的方法或变化filter会反其道而行之,只保留a"从表S bs,基本建立的名单a的.
好吧,无论如何,这是不精确的措辞.签名是
filter :: (a -> Bool) -> [a] -> [a]
Run Code Online (Sandbox Code Playgroud)
因此filter a bs被描述为过滤器从所有元素bs的是满足 a.
所以要"做相反的",你只需要反转谓词.例如,
Prelude> filter(=='a')"是否有一个简单的方法或过滤器的变体"
"aaaa"
前奏>过滤器(/ ='a')"是否有一个简单的方法或过滤器的变体"
"是否有过滤器的简单方法或过程"
一般来说:
filterNot :: (a -> Bool) -> [a] -> [a]
filterNot pred = filter $ not . pred
Run Code Online (Sandbox Code Playgroud)
Prelude> filterNot(=='a')"是否有一个简单的方法或过滤器的变体"
"是否有简单的方法或过滤器的过滤器"