真假
特殊符號 T
表示 Common Lisp 中的值 true ,而特殊符號 NIL
表示 false :
CL-USER> (= 3 3)
T
CL-USER> (= 3 4)
NIL
它們在標準中稱為常量變數(sic!),因為它們是無法修改其值的變數。因此,你不能將其名稱用於正常變數,如下所示,不正確,示例:
CL-USER> (defun my-fun(t)
(+ t 1))
While compiling MY-FUN :
Can't bind or assign to constant T.
實際上,人們可以將它們簡單地視為常數,或者作為自我評估的符號。T
和 NIL
也是其他意義上的特色。例如,T
也是一種型別(任何其他型別的超型別),而 NIL
也是空列表:
CL-USER> (eql NIL '())
T
CL-USER> (cons 'a (cons 'b nil))
(A B)