首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除列表中的元素(与筛选器相反)

删除列表中的元素(与筛选器相反)
EN

Stack Overflow用户
提问于 2020-05-24 16:02:28
回答 1查看 114关注 0票数 0

您好,我正在尝试从适用于我的函数的列表中删除元素: removeBy even 1..10→1,3,5,7,9 or removeBy (=='a‘) 'b’,'a‘,'c’→"bc“

使用像map、foldl、foldr和filter这样的高阶函数,我所做的是

代码语言:javascript
复制
removeBy :: (a -> Bool) -> [a] -> [b]
removeBy function list = map function list 

当我尝试运行示例1时,即使我得到

代码语言:javascript
复制
Variable not in scope: removeBy :: (a0 -> Bool) -> [a1] -> t

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-24 16:15:03

你可以只做filter (not . condition) list -也就是说,否定条件,也就是过滤not满足条件的所有值。因此,例如,您的removeBy (=='a')将与filter (not . (=='a'))相同-甚至更简单,filter (/='a')

至于为什么您尝试的实现不起作用:map function list只是将function应用于list的每个元素,因此不能添加或删除任何元素。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61983177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档