haskell - Haskell函数递归删除列表中给定值的所有出现
问题描述
例如,myRemove 2 [2,1,2,3,2,1,2,3,4] = [1,3,1,3,4]
这是我到目前为止所做的
myRemove :: a -> [b] ->[b]
myRemove a [] = []
myRemove (x:xs) =
| a = x = myRemove - x
| otherwise myRemove a xs
解决方案
如此多的错误和错别字,可能阅读更多关于语言的内容!
我想这就是你想要做的
myRemove :: Eq a => a -> [a] -> [a]
myRemove a [] = []
myRemove a (x:xs) | a==x = myRemove a xs
| otherwise = x:(myRemove a xs)
使用输入运行时
> myRemove 2 [2,1,2,3,2,1,2,3,4]
[1,3,1,3,4]
推荐阅读
- javafx - 我在小组上画了铅笔画,但画的时候留下了一些空隙。如何使它平滑?
- database - Firebase 存储数据库
- python - 在 Python 中创建以变量而不是字符串开头的文件名
- parallel-processing - 从spark java中数据集的特定分区读取数据
- python - 为什么我不能直接使用 eval(entire_string),为什么我需要使用 parser.expr(entire_string).compile()?
- python-3.x - 对熊猫中的所有分组数据应用排序功能?
- javascript - window.DeviceOrientationEvent 在 iOS 上的 Safari 中未定义(React web-app)
- android - 如何使用 dagger 2.26 在 recyclerview 适配器中获取活动上下文?
- docker - Kubernetes 上的 SAP Jenkins
- apache-spark - 从本地计算机连接到 Databricks 时出错