3
我需要知道报价和列表之间的区别。例如:报价之间的差异,使用时相等的列表
cl-prompt> (equal (first (list * 1 2)) *)
T
cl-prompt> (equal (first '(* 1 2)) *)
NIL
我不明白是什么问题。
我需要知道报价和列表之间的区别。例如:报价之间的差异,使用时相等的列表
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
的变量。符号*
不EQUAL
到T
,所以它返回NIL
CL-USER> '(* 1 2)
(* 1 2)
感谢您的帮助! – Daesos