gpt4 book ai didi

lisp - 相当于 LIST 的 LISP 'subst' 函数

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

我有以下列表:

(1 (2))

我想用 (2 (3)) 代替 (2) 以获得:

(1 (2 (3)))

subst 的使用没有返回想要的结果:

(subst '(2 (3)) '(2) '(1 (2)))

有没有简单的方法来执行替换?

最佳答案

默认情况下 subst 使用 eql ,您必须指定 :test 参数才能使用 #'equal , 得到你想要的。

CL-USER> (subst '(2 (3)) '(2)  '(1 (2)) :test #'equal)
(1 (2 (3)))

如您所见,两个直接指定的列表不是 EQL,但它们是 EQUAL:

CL-USER> (eql '(2) '(2)) 
NIL
CL-USER> (equal '(2) '(2))
T

阅读更多 about eq, eql, equal and eqaulp difference在口齿不清。

关于lisp - 相当于 LIST 的 LISP 'subst' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385648/

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