Jac*_*ace 3 haskell functional-programming list-comprehension
我是新手使用Haskell我花了好几个小时试图构建一个简单的函数,其中输入一个函数将会像这样:
makeList 5 == [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]
makeList 2 == [[1],[1,2]]
Run Code Online (Sandbox Code Playgroud)
没有多少研究可以真正帮助我弄清楚我应该如何迭代我的函数'x',这样我就可以根据我选择的数字建立多个列表,我很接近,但那是我难倒的地方,我现在的代码本质上是如果我要输入makeList 3,设置我可以执行此操作的位置:
makeList 3 = [ [ x | x <- xs ] | xs <- [[1..x-2],[1..x-1],[1..x]] ]
Run Code Online (Sandbox Code Playgroud)
打印出来:
[[1],[1,2],[1,2,3]]
Run Code Online (Sandbox Code Playgroud)
Prelude> makeList n = [ [1..x] | x <- [1..n] ]
Prelude> makeList 5
[[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]
Run Code Online (Sandbox Code Playgroud)