我想将一个整数添加到使用Racket已经存在的列表中。
这是我到目前为止的代码。
(define (countBlackPegs gameList playerList)
(define blackPegs '())
(if (equal? (car playerList) (car gameList))
(set! blackPegs '(1))
;;otherwise
(set! blackPegs '(0)))
)
从理论上讲,我应该能够重复if语句(每次检查列表的不同部分),然后根据if语句的结果在blackPegs列表中附加适当的值。不幸的是,我尝试过的每个附加函数都无法正常工作。任何帮助,将不胜感激。
最佳答案
如果要修改(使用set!
)一个已经存在的列表,请按照以下步骤进行操作,以在开头添加新元素:
(set! blackPegs (cons 1 blackPegs))
或在末尾添加新元素:
(set! blackPegs (append blackPegs (list 1)))
但是,请注意,在Scheme中不建议使用这种编程风格,您应尽量避免突变变量-首选函数式编程风格。
关于list - 用 Racket 追加到列表变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15538494/