【发布时间】:2014-10-20 00:53:05
【问题描述】:
我想编写一个使用列表推导生成列表的函数,其工作方式如下:
makeList 3 == [[1],[1,2],[1,2,3]]
makeList 5 == [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]
makeList (-2) == []
我最终得到了这个解决方案,但它显然没有给我从问题中需要的东西:
let makelist x = [x | x <- x, y <- [1..x]]
所以如果我输入这个
Prelude> makelist [3]
输出将如下所示:
[3,3,3]
我想先成为列表中的列表,然后我希望它增加。谢谢你的帮助!
【问题讨论】:
-
首先,重用变量名可能不是最好的做法。
makelist x = [x | x <- x, ...]不是好习惯。
标签: list haskell list-comprehension