我被困在一个家庭作业问题上。我正在尝试定义一个函数,该函数使用递归检查列表中是否存在元素。以下是我所拥有的。
(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语句不应该抓住这个吗?
答案 0 :(得分:3)
is-member2
不等于is-memeber2
。检查你的拼写。