gpt4 book ai didi

lisp - 解析 Common Lisp 列表中的符号

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

假设我有一个函数

CL-USER> (defun trimmer (seq) "This trims seq and returns a list"
(cdr
(butlast seq)))
TRIMMER
CL-USER> (trimmer '(1 2 3 VAR1 VAR2))
(2 3 VAR1)
CL-USER>

请注意,由于 QUOTE,VAR1 和 VAR2 未解析。假设我想将符号 VAR1 和 VAR2 解析为它们的值 - 是否有标准函数可以执行此操作?

最佳答案

不要使用quote 来创建带有变量的列表;使用 list 代替:

CL-USER> (trimmer (list 1 2 3 var1 var2))
(2 3 value-of-var1)

(其中 value-of-var1var1 的值)。

Quote 只会阻止对其参数进行评估。如果它的参数恰好是列表文字,则返回它。但是,要创建不仅仅是文字的列表,请使用 list。您可以使用反引号语法,但在这种情况下会造成混淆。

关于lisp - 解析 Common Lisp 列表中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4217568/

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