だから私は昨日 Lisp を学び始め、いくつかの問題をやり始めました。
私が苦労しているのは、リストを同じままにしてリストにアトムを挿入/削除(delete 'b '(g a (b) l))
することです(g a () l)
。
また、私が問題を抱えているのは、この問題です。リストのどこかにアトムが存在するかどうかを確認することを想定しています。
私はそれをたどり、ある時点で戻ると言っていますT
が、その後 a によってオーバーライドされますnil
。
皆さん助けてもらえますか:)?
私は使用しています(appear-anywhere 'a '((b c) g ((a))))
4回目の関数呼び出しで戻りますT
が、その後になりnil
ます。
(defun appear-anywhere (a l)
(cond
((null l) nil)
((atom (car l))
(cond
((equal (car l) a) T)
(T (appear-anywhere a (cdr l)))))
(T (appear-anywhere a (car l))(appear-anywhere a (cdr l)))))