明经通道 AutoLISP 函数  
cond
 

多条件、多处理结果函数

(cond [(test result ...) ...]) 

cond 函数的参数可以为任意数目的表。它按顺序对每一个表的第一项求值,直到其中之一的返回值不是 nil 为止。该函数接着对该项后续的其他表达式求值。

返回值

被执行的结果处理表达式中最后一个表达式的值。如果子表中只有一个表达式(即 result 不存在),则返回 test 的值。如果未指定参数,cond 返回 nil。

示例

下面的样例使用 cond 函数执行求绝对值计算:

(cond 
   ((minusp a) (- a)) 
   (t a)
) 

如果变量设为值 -10,则运算结果为 10。

cond 可以作为 case 类型的函数使用。一般情况下,使用 T 作为最后一个(缺省)test 表达式。在下面的另一个简单样例中,变量 s 中存储的是用户输入的字符串,该函数将测试该字符串:如果 s 是 Y 或 y 则返回 1,如果 s 是 N 或 n 则返回 0,否则返回 nil。

(cond
   ((= s "Y") 1) 
   ((= s "y") 1) 
   ((= s "N") 0) 
   ((= s "n") 0) 
   (t nil)
)

明经通道 版权所有 未经许可 不得传播

 评论