Я пишу функцию, которая возвращает элементы, которые отображаются в одном списке, а не в другом. Например,Ошибка схемы "за исключением: неправильное использование ключевого слова импорта единицы"
(except '(a b c) '(a d b e f))
вернет '(c)
. Первый аргумент может быть атомом, и оба предполагаются плоскими. Вот мой код:
(define (except lm ln)
(cond ((null? ln) lm)
((not (list? lm))
(cond ((in? lm ln) '())
(#t lm)))
((null? lm) '())
((in? (car lm) ln) (except (cdr lm) ln))
(#t (cons (car lm) (except (cdr lm) ln)))))
Затем возвращается сообщение об ошибке говорящее «за исключением: неправильное использование единицы импорта ключевого слова в: (за исключением (корд лм) п)».
Почему это происходит?
Привет, спасибо за помощь. На самом деле это был весь код, который я набрал после того, как я запустил DrRacket, так что я тоже смущен. – goldfrapp04
Важно, чтобы точно указать *, где вы его набрали: в верхнем окне определения или в нижнем окне взаимодействия? Также важно знать, был ли какой-либо текст до того, что вы добавили (например, строка '# lang')? И, наконец, важно знать, какие у вас языковые настройки (оба). Но SO на самом деле не является форумом поддержки, поэтому лучше задать свой вопрос в [списке рассылки] (http://racket-lang.org/community.html) или в IRC (#racket) и т. Д. –