本帖最后由 highflybird 于 2011-12-12 09:25 编辑
or 和and 函数 都是这样
(or 表达式或者值1 表达式或者值2 表达式或者值3...)
只要遇到的一个表达式或者值成立 ,即为 T ,后面的就不会再执行
下面的两个例子,在or 或者and 之前,假设 a和b都未赋值。
例如-
- (or nil (setq a 3) (setq b 4))
你会发现, a的值是3, 但(setq b 4)的那句并未执行。所以b还是nil.
而and的意思是.
(and 表达式或者值1 表达式或者值2 表达式或者值3...)
只要遇到的一个表达式或者值不成立 ,即为nil,后面的就不会再执行
例如-
- (and T (setq a nil) (setq b 4))
and返回后,a的值是nil,但b的值也是nil,后面的那句(setq b 4)并没有执行.
|