我正在阅读 Conrad Barski 的《Land of Lisp》,我对使用“if”命令(仅举几例)有点困惑。
所以,我知道写 if '() 意味着列表为空且条件为假,如果 '(1) 意味着列表非空且条件为真。
问题是 lisp 如何根据 if(1) 条件的性质(真/假)知道选择和输出哪个表达式?例如,在语句下面的代码中,如果 '(1) 为真,那么 lisp 如何以及为什么选择表达式 I-AM-TRUE 作为输出?
(if '(1)
'i-am-true
'i-am-false)
I-AM-TRUE
同样,它如何以及为什么在下面的示例中输出 How-does-this-happen..
(if '(1)
'how-does-this-happen
'any-guesses)
HOW-DOES-THIS-HAPPEN