传递一个列表,例如:[1,2,3,4,5] 并返回[[1,2,3,4,5], [2,3,4,5],[3,4,5],[4,5],[5],[]]无法让我的递归函数与列表一起工作
我的方法是使用递归将drop 1 list
添加到另一个空列表,直到列表为空。但我似乎无法让我的递归正常工作。
帮助,请,谢谢
到目前为止我的代码:
test a = test2 a where
test2 a | size(a) > 1 = test (drop 1 a):[]
| otherwise = []
但难道不工作,因为递归回传的清单列表中,而不是一个列表。我只是不知道如何将它分配给某个东西并同时返回它。
哪里码?如果我们看不到你在第一个地方做了什么,我们不能告诉你你做错了什么。 –
我不知道haskell,所以我可能是错的,但我认为你需要检查你想要的情况打印原始列表。 – rohit89