Member 12863707 Ответов: 0

Должно быть лямбда-выражение


Я новичок в Lisp, и это первая функция, которую я написал. Я пытаюсь написать функцию lisp (без использования remove функция lisp), которая берет список из пользовательского ввода и элемент из списка, который пользователь хочет видеть удаленным. Если введенный пользователем элемент находится в списке, необходимо удалить его из списка. Если элемента нет в списке, верните ноль. У меня есть сообщение об ошибке (my_remove (car list) (cdr list)) should be a lambda expression Я не знаю, как это решить.

Пример предлагаемого результата:

(my_remove А' (А Б В Г Д))

(b c d)

Что я уже пробовал:

(defun my_remove (list)
	(cond ;;;Start condition
		((null list);;;check to see if the list is null
			0);;;if null then return zero 
		((eql (car list) (cdr list));;;check the list to see if there are duplicates
			((my_remove (car list) (cdr list)) (my_remove (cdr list)));;;if duplicates than skip and continue
		(t (cons (car list) (my_remove (cdr list)))))));;;the result of the list 

0 Ответов