如何使用Prelude从haskell中的列表中删除每个值的发生? [英] How do I remove every occurance of a value from a list in haskell using Prelude?

查看:84
本文介绍了如何使用Prelude从haskell中的列表中删除每个值的发生?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从列表中删除每个特定值的发生。我写了一个函数来做到这一点:

  removeall val [] = [] 
removeall val list = if头列表)== val
然后removeall val(尾列表)
else(头列表):( removeall val(尾列表))

但如果可能的话,我想使用Prelude,因为优雅和可读性的原因。 div>

  removeall val list = filter(/ = val)list 


I want to remove every occurance of a certain value from a list. I have written a function to do this:

removeall val [] = []
removeall val list = if (head list) == val
                     then removeall val (tail list)
                     else (head list):(removeall val (tail list))

but I would like to use Prelude if possible for reasons of elegance and readability.

解决方案

removeall val list = filter (/= val) list

这篇关于如何使用Prelude从haskell中的列表中删除每个值的发生?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆