Ракетка - Сравнение двух списков и создание списка элементов, которые появляются только в первом списке - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь написать свою собственную функцию, которая сравнивает два списка, 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. Может кто-нибудь проверить, какая часть не так?

...