我编写了一段代码,创建了一个矢量“记分板”,其中包含3个大小为3的单独矢量,所有矢量都包含符号?在所有索引0-2。当我现在执行“向量集!”时 在计分板的第一个向量上,要将其第一个元素更改为'X,向量2和3也将更改。这是怎么发生的?
(define scoreboard (make-vector 3 (make-vector 3 '?)))
(define (display-scoreboard)
(display (vector-ref scoreboard 0))
(newline)
(display (vector-ref scoreboard 1))
(newline)
(display (vector-ref scoreboard 2))
(newline))
(define (X! pos)
(cond
((>= 3 pos) (vector-set! (vector-ref scoreboard 0) (- pos 1) 'X))
))
(display-scoreboard)
(X! 1)
(newline)
(display-scoreboard)
Run Code Online (Sandbox Code Playgroud)
输出:
#(? ? ?)
#(? ? ?)
#(? ? ?)
#(X ? ?)
#(X ? ?)
#(X ? ?)
Run Code Online (Sandbox Code Playgroud)
所需的输出:
#(? ? ?)
#(? ? ?)
#(? ? ?)
#(X ? ?)
#(? …Run Code Online (Sandbox Code Playgroud) 我想使DrRacket的默认启动屏幕成为他们用于情人节的特殊屏幕。将其显示在屏幕上的一种方法是将计算机上的时间更改为2月14日。如何在不更改时间的情况下将其设置为默认启动屏幕?
在这里,您可以找到特殊的启动屏幕:
在 Racket 中,一种点分隔数字(例如软件的版本号)如何?
例如
'("1.1.2" "1.0.0" "1.3.3" "1.0.7" "1.0.2")
Run Code Online (Sandbox Code Playgroud)
分类为
'("1.0.0" "1.0.2" "1.0.7" "1.1.2" "1.3.3")
Run Code Online (Sandbox Code Playgroud)