Новичок в схеме здесь, и у меня возникли проблемы с изучением циклов. Я пытаюсь создать функцию, которая будет принимать объект и вектор, а затем перебирать вектор, пока не найдет этот объект. Когда объект будет найден, он вернет список, содержащий все элементы в векторе перед объектом. Мой код ниже. Все, что он вернет, это количество итераций, которые прошел цикл do, а не список, который я хочу. Если кто-нибудь может помочь мне с синтаксисом, я был бы очень признателен. Спасибо! (в идеале это вернет (1 2))
(define(vector-test-iterative X Vector)
(do ((i 0 (+ i 1))) (< i (vector-length Vector))
(if (eqv? X (vector-ref Vector i))
(= i (vector-length Vector))
(cons (vector-ref Vector i) (ls '())))
ls))
(vector-test-iterative '4 #(1 2 4 3 5))