我只是想随机制作一个列表并在更大的函数中使用它。
(define make-random-list
(if
(= (random 2) 0) (list 2 3)
(list 3 2)))
这只会产生列表 (2 3),我不知道为什么。发生了什么导致这种情况?
如果我这样写,我可以使函数工作
(define make-random-list
(lambda (x)
(if
(= (random x) 0) (list 2 3)
(list 3 2))))
并调用 (make-random-list 2)
但我不明白为什么这会起作用而另一个不会。不允许第一个函数产生随机结果的方案是怎么回事?