gpt4 book ai didi

common-lisp - 引号、列表等用时的区别

转载 作者:行者123 更新时间:2023-12-01 11:22:00 27 4
gpt4 key购买 nike

我需要知道报价和列表之间的区别。例如:

cl-prompt> (equal (first (list * 1 2)) *)
T

cl-prompt> (equal (first '(* 1 2)) *)
NIL

我不明白这是什么问题。

最佳答案

当用作变量时 * 指的是最后打印到 repl 的结果。

CL-USER> (+ 4 4)
8
CL-USER> *
8

在第一个中,两个星号都未加引号,因此它们被视为变量而不是符号(它们的值是您在该行之前评估的值)。它们是相同的变量,所以当然 EQUAL

CL-USER> (list * 1 2)
(8 1 2)

在第二个中,第一个星号是一个带引号的符号,而第二个是一个值为 T 的变量。符号 * 不是 EQUALT,所以它返回 NIL

CL-USER> '(* 1 2)
(* 1 2)

关于common-lisp - 引号、列表等用时的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41257037/

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