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