gpt4 book ai didi

lisp - 像在 lisp 中找到的东西

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

是否有像 lisp 中的 find 这样的函数返回 true 而不是我们要查找的元素?

例子:

我想要它做

(find 'x'(a c x)) = t

不是

(find 'x'(a c x)) = x

另外,我问的原因是因为我试图到达列表中最深的元素。我的计划是每次递归调用它时都将列表展平。

然后我会停止递归调用

(mapcar '原子列表)

会告诉我那里的每个原子都是真的。

您认为这是解决此问题的好方法吗?

最佳答案

没有这样的函数,但是写一个再简单不过了:

(defun find-t (&rest args)
(when (apply #'find args)
t))

也可以使用 (every #`(eql t %) list) 代替 (mapcar 'atom list),即检查 中的每个项目list 正好是 t。 (这里 #`() 是我使用的单参数 lambda 的语法糖。)

但总的来说还不清楚,你想通过这一切实现什么。你能详细说明你想做什么吗?

关于lisp - 像在 lisp 中找到的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171408/

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