答案 0 :(得分:0)
您可能正在寻找的是filter
。它需要一个谓词,并取出不满足它的元素。
由于FP语言有一个奇怪的语法,我找不到任何文档,我无法提供filter
的实现。但总的来说,它可以使用fold
来实现 - 这只是您提供的链接中的insert
。
这就是我的意思(在Haskell中):
filter p list = foldr (\x xs -> if p x then x:xs else xs) [] list¹
如果您没有这样做,请查看here。撰写filter
后,您可以将其称为
newList = filter notEmpty theList
(其中nonEmpty
是谓词或lambda)。哦,当然这只是通过使用另一个函数来隐藏递归;在某些时候,你有来递减。
¹:Haskell中的:运算符是列表consing(将元素附加到头部),而不是函数应用程序。