布尔意味着操作

Ror*_*ach 1 lisp boolean common-lisp

为什么(defun boolimplies (a b) (or (not a) b))如果称为 (boolimplies 'a 'b)返回B

即使我不使用任何布尔值(NIL,T)而只是变量名,它如何得出这个结论?

dan*_*lei 5

虽然Common Lisp中只有tnil是布尔值,但也有普遍的布尔值.也就是说,所有对象都可以用作真值,并且只有符号nil为false.你传递的符号不是nil,这是真的.

(只是为了避免任何可能的混淆:如果你有变量a,b并且想要使用它们的值而不是符号,那么就不要引用它们.)