Я пытаюсь сравнить, если два списка имеют одинаковые элементы в них без учета порядка.Плохой объект функции
элемент из? является частью набора функций, чтобы проверить, если элемент принадлежит множеству
`(define (element-of? x set)
(cond ((null? set) #f)
((equal? x (car set)) #t)
(else (element-of? x (cdr set)))))
`
это мой код, чтобы проверить, если список «а» имеет те же элементы, что и список «б»
`(define (check-unit-match cmp-to cmp-with)
(cond ((null? cmp-to) #t)
(else (let ((cmp-val (element-of? (car cmp-to) cmp-with)))
(and cmp-val (check-unit-match (cdr cmp-to) (cmp-with)))))))
`
я получаю плохо Функциональный объект: ((м 2) (сек 1))
, когда я передаю следующий аргумент (контрольная единица-матч '((сек 1) (м 2))' ((м 2) (с 1)))
Вы не сравниваете, если два списка имеют одинаковые элементы, а не каждый элемент в первом аргументе является членом второго. например. '(check-unit-match '(1 2 3)' (1 2 3 4 5 6 7)); ==> # t' – Sylwester