common-lisp 的逻辑计算采用的是短路策略
or 是采用短路策略
CL-USER> (defparameter *is-it-even* nil)
*IS-IT-EVEN*
CL-USER> *is-it-even*
NIL
CL-USER> (or (oddp 4 ) (setf *is-it-even* t))
T
CL-USER> *is-it-even*
T
CL-USER>
and 同样也是采用短路策略
CL-USER> *is-it-even*
T
CL-USER> (and (oddp 3) (setf *is-it-even* nil))
NIL
CL-USER> *is-it-even*
NIL
CL-USER> (setf *is-it-even* t)
T
CL-USER> (and (oddp 4) (setf *is-it-even* nil))
NIL
CL-USER> *is-it-even*
T
CL-USER>