Я пытаюсь пересекаются два списка на рэкет, но следующий код не работает:Ракетка Пересечение двух списков
(define (intersection a b)
(if (null? a)
'()
(if (contains (car a) b)
(cond (car a)(intersection (cdr a) b))
(intersection (cdr a) b))))
Результат всегда в конечном итоге является первым пунктом списка а, который содержится в списке Ь , плюс остальная часть списка a. Например:
a = '(1 2 3 4 5 6)
b = '(10 20 4 30 33)
вернуться бы:
'(4 5 6)
Я уверен, что содержит работает правильно, поэтому ошибка должна быть в коде я отправил. Благодаря!
это было именно это! Я ненавижу ошибки typo = (. Спасибо –