小编kot*_*uri的帖子

如何在haskell中编写递归函数

如何在Haskell中编写一个函数,它接受一个列表和一个数字,并删除大于该数字的所有元素并返回列表.

删除[5,4,3,9,1] 5应该返回[5,4,3,1]

我编写了以下方法,当它达到大于给定数字时,它变成无限循环.我出去了[5,4,3然后程序没有结束.

remove l1 x = if (null l1 == True)
                then l1
                else if (head l1 > x)
                       then remove (drop 0 l1) x
                       else ((head l1) : remove (tail l1) x)
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试Haskell程序,请告诉我这里我做错了什么.

谢谢

haskell

4
推荐指数
2
解决办法
5864
查看次数

标签 统计

haskell ×1