宿題の質問で行き詰まっています。再帰を使用してリストに要素が存在するかどうかをチェックする関数を定義しようとしています。以下は私が持っているものです。
(defun is-member2 (X S)
"Check if a X is a member of S"
(if (and (atom X) (not (null S)) (lisp S) (> (length S) 0))
;X- is a value, not a set
(if (equal X (car S))
;Located
(equal 'a 'a)
;NotLocated
(is-memeber2 X (cdr S))
)
;No- X is not a value
()
);end if
)
しかし、私はそれis-memeber2
が未定義であることを取得し続けています。X
これにより、 が有効な要素ではなくなったか、 ( cdr S
) が送信されていると思われますがnul
、if ステートメントでこれをキャッチする必要はありませんか?