列出函数预期整数的位置(Racket)

时间:2014-02-03 18:54:56

标签: arrays list function multidimensional-array racket

我正在尝试使用以下方法为多维数组中的点设置值:

(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)作为一个列表来自该功能。我该如何阻止这种情况发生?

感谢您阅读所有人!

1 个答案:

答案 0 :(得分:1)

您的list次调用错误。例如,你应该使用这样的东西:

(cons (list (+ (car xy) 2) (- (cadr xy) 1)) successors)