我只是想知道是否有可能创建一个返回(希望是无限的)数字列表的函数.[1,[2,[3,[4]]]].
我得到的最接近的是这个.
func list 0 = list
func list num = func newList (num-1)
where newList = list ++ [[num]]
Run Code Online (Sandbox Code Playgroud)
这是用这样的.
func [] 3
Run Code Online (Sandbox Code Playgroud)
哪个回来了.
[[3],[2],[1]]
Run Code Online (Sandbox Code Playgroud)
现在我知道这不是无限的,也不是正确的顺序,但我只是想表明我至少在发布之前尝试了一些东西.:)
谢谢你!
所以我期待总结0到1亿之间的数字.这段代码非常适合千万,在我的机器上执行大约3秒钟.然而,一旦我尝试总计达到一亿,它就会冻结我的计算机并且永远不会完成.我等待这段代码完成了五分钟但仍然无法完成.
#lang racket/base
(require (only-in racket/list range))
(let ([theList (range 0 100000000)]) (time (apply + theList)))
Run Code Online (Sandbox Code Playgroud)