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))
如何解決這個問題?