Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lisp 检查元素是否为列表的成员_Lisp_Common Lisp_Membership - Fatal编程技术网

Lisp 检查元素是否为列表的成员

Lisp 检查元素是否为列表的成员,lisp,common-lisp,membership,Lisp,Common Lisp,Membership,我想做一个迭代函数来计算元素el是否是列表的成员并返回 原子 ;;;这是名单 (setf lst’(a b c d e 1 2 3 4 5)) ;;;此函数用于检查它是否是列表的成员 (defun checklist (a lst) (if (member a alist) a)) 当我输入->(清单1 lst)时,它返回数字。。。但当我输入字母表时,它会返回错误。。任何人都可以帮我说明问题出在哪里??提前谢谢 =============

我想做一个迭代函数来计算元素el是否是列表的成员并返回 原子

;;;这是名单 (setf lst’(a b c d e 1 2 3 4 5))

;;;此函数用于检查它是否是列表的成员

(defun checklist (a lst)
           (if (member a alist)
               a))
当我输入->(清单1 lst)时,它返回数字。。。但当我输入字母表时,它会返回错误。。任何人都可以帮我说明问题出在哪里??提前谢谢

================================================================================

当我输入-->(问题5 a lst)

它给我这样的错误

CG-USER(7):(问题5 a lst) 错误:尝试获取未绑定变量“A”的值。 [条件类型:未绑定变量]

这是家庭作业吗

如果是:

我不认为
会员对你有用。如果你想做一个迭代解,那么你可以使用类似于
do
DOLIST
的方法

如果否:

Common Lisp有一个函数,可以按顺序查找元素(列表、向量、字符串等):
FIND

新增:使用
(问题5'a lst)

还要注意,您的定义有一个不幸的部分:

(checklist nil '(a b c))

(checklist nil '(a b c nil))
两者都将返回
NIL

顺便说一句,Touretzky的Lisp介绍书可免费下载:
这本书很好地介绍了Lisp编程的基础知识。

只要向我们展示错误是如何发生的。我把错误放在上面。a
是一个变量。你需要引用它,这样它就成为一个符号,不会被评估。谢谢。。我知道我在哪里做了错事。。谢谢你这是一个家庭作业。。我和我的朋友很长一段时间都把它弄糊涂了,所以去那里问问吧。。如果wan实施do或dolist,如何实施??我还没学会。。