Не используя MEMBER, завершите следующее определение рекурсивной функции POS так, чтобы, если L был списком, а E - элементом L, то (POS EL) возвращает позицию первого вхождения E в L, но если L является списком, и E не является элементом L, тогда (POS EL) возвращает 0.
(DEFUN POS (E L)
(COND ((ENDP L) ... )
((EQUAL E (CAR L)) ... )
(T (LET ((X (POS E (CDR L))))
))))
, то есть мой код
(defun pos (E L)
(cond ((endp L) 0)
((equal e (car L)) 1)
(T (let ((x (pos E (cdr L))))
(if (zerop x) x
(+ x 1)))))
Я пытаюсь проверить кодировку с помощью
(POS '(A B) '((K) (3 R C) A (A B) (K L L) (A B))) => 4
но он дает мне ответ 4 и выдает ошибку *** -
READ from # #>: объект не может начинаться с # \)
Я не знаю, что такое # \