我在想,如果
(cons (quote (a b c)) #f)
给出一个输出
(( a b c ))
那么这会给出什么输出:
(cons (quote (a b c)) #t)
?
谢谢
在大多数解释器中,第一个表达式不会评估为((a b c))
,您的解释器似乎正在评估#f
为一个空列表:
(cons (quote (a b c)) '())
=> '((a b c))
话虽如此,您只需将 a 替换为#f
a #t
,标准结果将如下所示:
(cons (quote (a b c)) #f)
=> '((a b c) . #f)
(cons (quote (a b c)) #t)
=> '((a b c) . #t)
为什么不上网试试呢?例如在这里。
CommonLisp:
* (if '() 'true 'false)
FALSE
方案:
> (if '() 'true 'false)
true
回到 CommonLisp:
* (cons (quote (a b c)) nil)
((A B C))