检查元素是否存在

时间:2012-09-26 14:52:35

标签: list common-lisp

我被困在一个家庭作业问题上。我正在尝试定义一个函数,该函数使用递归检查列表中是否存在元素。以下是我所拥有的。

(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语句不应该抓住这个吗?

1 个答案:

答案 0 :(得分:3)

is-member2不等于is-memeber2。检查你的拼写。