0
我是新来的方案,有困难的方案中的向量。我需要创建一个函数来计算向量中的非零输入的数量。我需要通过不将矢量转换为列表来做到这一点。例如 例如。计算矢量的非零输入的函数
(non-zero-dim #(3 0 2 4 0 2))
returns 4
到目前为止我的代码是
(define non-zero-input
(lambda (vector)
(let ((size (vector-length vector)))
do ((position 0 (+ position 1))
(total 0
(if ((not (zero? vector-ref vector position)))
(+ total 1))
(((= position size) total)))))))
但是我得到这个错误:do: bad syntax in: (do ((position 0 (+ position 1)) (total 0 (if ((not (zero? vector-ref vector position))) (+ total 1)) (((= position size) total))
如何解决这个问题?