明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2872|回复: 3

cond 多条件、多处理结果函数

[复制链接]
发表于 2012-10-9 13:31 | 显示全部楼层 |阅读模式

多条件、多处理结果函数

(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)
)

点评

不错,巩固学习!  发表于 2012-12-15 22:53
发表于 2015-11-3 10:42 | 显示全部楼层
新手学习中  不甚感激  
发表于 2023-9-19 14:58 | 显示全部楼层
学习了,平时还真不大用cond呢。
发表于 2023-11-5 00:13 | 显示全部楼层
新手学习中  不甚感激  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 18:47 , Processed in 0.171621 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表