我正在尝试使用以下方法为多维数组中的点设置值:
(vector-set! (vector-ref array (car xy)) (cadr xy) step_count)
但是我收到了这个错误:
vector-ref: contract violation
expected: exact-nonnegative-integer?
given: '(- (car xy) 1)
argument position: 2nd
other arguments...:
'#(#(1 0 0 0 0) #(0 0 0 0 0) #(0 0 0 0 0) #(0 0 0 0 0) #(0 0 0 0 0))
;the value 1 at position (0,0) was set before by a similar line of code
xy值由单独的函数生成
我认为我的(车xy)作为一个列表来自该功能。我该如何阻止这种情况发生?
感谢您阅读所有人!
答案 0 :(得分:1)
您的list
次调用错误。例如,你应该使用这样的东西:
(cons (list (+ (car xy) 2) (- (cadr xy) 1)) successors)