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