0

我在想,如果

(cons (quote (a b c)) #f)

给出一个输出

(( a  b  c ))

那么这会给出什么输出:

(cons (quote (a b c)) #t)

?

谢谢

4

2 回答 2

5

在大多数解释器中,第一个表达式不会评估为((a b c)),您的解释器似乎正在评估#f为一个空列表:

(cons (quote (a b c)) '())
=> '((a b c))

话虽如此,您只需将 a 替换为#fa #t,标准结果将如下所示:

(cons (quote (a b c)) #f)
=> '((a b c) . #f)

(cons (quote (a b c)) #t)
=> '((a b c) . #t)

为什么不上网试试呢?例如在这里

于 2014-03-15T20:50:35.397 回答
0

CommonLisp:

* (if '() 'true 'false)
FALSE

方案:

> (if '() 'true 'false)
true

回到 CommonLisp:

* (cons (quote (a b c)) nil)
((A B C))
于 2014-03-16T05:15:49.490 回答