gpt4 book ai didi

lisp - 检查 lisp 中是否存在某个项目

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:17 25 4
gpt4 key购买 nike

为了完成一个练习,我需要检查一个元素是否在列表中。我知道 lisp 中有函数 member,但是我们的讲师非常严格,不让我们使用类(class)中没有涉及的东西。

仅使用 condnilcar 来检查原子是否在列表中的方法是什么不, cdr, +, equal, defun?


编辑:在 Doseke 的评论之后;这是一个尝试:

(defun presence (list item)
(cond
((atom list) nil)
((equal (car list) item) t)
((consp list) (presence (cdr list) item))
(t nil)
)
)

编辑:我更改了标题以使其与我的实际问题相匹配

最佳答案

由于您使用的功能有限,我想可能是这样的:

(defun member-2 (x xs)
(cond ((not xs) nil)
((equal x (car xs)) xs)
(t (member-2 x (cdr xs)))))

关于lisp - 检查 lisp 中是否存在某个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41582444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com