Я пытаюсь написать свою собственную функцию, которая сравнивает два списка, L1 и L2, а затем создает список элементов, которые появляются только в L1.
(define (only-in-L1 L1 L2)
(cond
[(empty? L1) empty]
[(not (member? (first L1) L2)) (cons (first L1) (only-in-L1 (rest L1) L2))]
[else (only-in-L1 (rest L1) L2)]))
Проблема заключается в том, что я проверяю (only-in-L1 (list 2 5 9) (list 5 2 10 9))
, он производит empty
. Функция отлично работает, когда длина L1 больше или равна L2. Может кто-нибудь проверить, какая часть не так?