Я хочу предисловие к этому, сказав, что да, это проблема домашних заданий, над которой я работаю, и я не хочу ответа на этот вопрос, просто, возможно, толчок в правильном направлении. Anyhoo, я занимаюсь классом по структурам языков программирования, и один из наших проектов состоит в том, чтобы написать множество небольших программ в lisp. Это требует, чтобы пользователь вводил список и атом, а затем удалял все экземпляры атома из списка. Я просмотрел интернет и не нашел много хороших ресурсов, поэтому я обращаюсь ко всем вам.Удалить определенный элемент в списке?
В любом случае, наш профессор дал нам очень мало в порядке вещей, и очень мало я имею в виду практически ничего.
Это то, что у меня есть до сих пор, и оно не работает.
(defun removeIt (a lis)
(if (null lis) 0
(if (= a (car lis))
(delete (car lis))
(removeIt (cdr lis)))))
И когда я типа (removeIt 'u '(u e u e))
в качестве входных данных, он дает мне ошибку о том, что получил 1 аргумент, когда он хотел 2. Какие ошибки я делаю?