Возникли проблемы с добавлением всех остальных нечетных элементов в список на схеме

Я пытаюсь добавить все нечетные элементы в список.

Я не могу понять, что не так. Он будет работать для списка всех шансов, но вызывает ошибку, если есть хотя бы одно четное число - он говорит, что он ожидал число в качестве второго элемента, но вместо этого был передан список, чего не должно происходить.

Что не так с моим кодом?

(define list-sum-odd
  (lambda (list)
    (cond
      ((null? list)
       0)
      ((odd? (car list))
       (+ (car list) (list-sum-odd (cdr list))))
      (list-sum-odd 
       (cdr list)))))
0
задан Josh Crozier 8 December 2013 в 04:38
поделиться