我想在使用Racket已经存在的列表中添加一个整数。 这是我到目前为止的代码。
(define (countBlackPegs gameList playerList)
(define blackPegs '())
(if (equal? (car playerList) (car gameList))
(set! blackPegs '(1))
;;otherwise
(set! blackPegs '(0)))
)
理论上我应该能够重复if语句(每次检查列表的不同部分),然后根据if语句的结果将blackPegs列表附加适当的值。不幸的是,我尝试的每个附加功能都无法正常工作。任何帮助将不胜感激。
答案 0 :(得分:5)
如果你想修改(使用set!
)已经存在的列表,可以沿着这些行做一些事情,以便在开头添加一个新元素:
(set! blackPegs (cons 1 blackPegs))
或者在最后添加新元素:
(set! blackPegs (append blackPegs (list 1)))
但是,请注意,在Scheme中不建议使用这种编程风格,你应该尽量避免变异变量 - 首选函数编程风格。