我正在使用 Racket,我想做的是开发一个给定元素的随机列表,这些元素也具有给定的长度。我知道如何创建列表,但我遇到的问题是我不知道如何在每次从命令行使用列表调用函数时保持相同的列表,而无需重新创建不同的列表因为列表由随机选择的元素组成。这就是我所拥有的:
(define gameColors '(red green blue yellow black))
(define currentGameList '())
(define input 4)
(define randomNumber (random 5))
(if (equal? randomNumber 0)
(if (< (length currentGameList) (+ input 1))
(set! currentGameList (append currentGameList (list (car gameColors))))
;;otherwise
(set! currentGameList currentGameList))
;;otherwise
(set! currentGameList currentGameList))
然后 if 块为 randomNumber 的每个不同的可能结果重复。我只需要知道如何从使用 currentGameList 的命令行重复调用我的guess 函数,而无需我的程序每次都重新创建 currentGameList。guess 函数还具有必须由用户输入的参数,因此每次都必须在命令行中输入。任何帮助表示赞赏。