(if '(nil nil)
'print-true
'print-false)
(if '(nil)
'print-true
'print-false)
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,为什么Lisp解释器总是将这些表单评估为true(print-true).我认为nil在Common Lisp中表示为false.
我正在使用GNU CLISP.
Jos*_*Lee 11
nil是假的.其他任何事都是真的.'(nil)是一个包含一个元素的列表,即nil.'(nil nil)是一个包含两个元素的列表,即nil和nil.这些表达式nil本身都不相同,因此if将其视为真实.