【问题标题】:Append to List Variable with Racket使用 Racket 附加到列表变量
【发布时间】:2013-03-10 10:18:47
【问题描述】:

我想使用 Racket 将一个整数添加到已经存在的列表中。 这是我到目前为止的代码。

(define (countBlackPegs gameList playerList)
(define blackPegs '())

(if (equal? (car playerList) (car gameList)) 
  (set! blackPegs '(1))
;;otherwise
  (set! blackPegs '(0)))
)

理论上我应该能够重复 if 语句(每次检查列表的不同部分),然后根据 if 语句的结果为 blackPegs 列表附加适当的值。不幸的是,我尝试过的每个附加功能都无法正常工作。任何帮助将不胜感激。

【问题讨论】:

    标签: list scheme append racket


    【解决方案1】:

    如果您想修改(使用set!)一个已经存在的列表,请按照以下方式进行操作,以便在开头添加一个新元素:

    (set! blackPegs (cons 1 blackPegs))
    

    或者在末尾添加一个新元素:

    (set! blackPegs (append blackPegs (list 1)))
    

    但是,请注意,在 Scheme 中不推荐这种编程风格,您应该尽量避免变异变量 - 首选函数式编程风格。

    【讨论】:

      猜你喜欢
      • 2016-08-01
      • 2012-10-05
      • 1970-01-01
      • 2022-01-20
      • 2021-04-07
      • 2021-04-03
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多