在 SBCL REPL 中,为什么输入的'(nil . nil)计算结果为(nil)而不仅仅是nil?
如果空列表是 cons 单元的两个“元素”所在的列表nil,为什么它们不一样?
我对此的假设是 SBCL 做出以下评估:
(car '()) => nil
(cdr '()) => nil
(car '(nil . nil)) => nil
(cdr '(nil . nil)) => nil
Run Code Online (Sandbox Code Playgroud)
但是:
'() => nil
'(nil . nil) => (nil)
Run Code Online (Sandbox Code Playgroud)