明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2198|回复: 5

重新理解or--而今迈步从头越

[复制链接]
发表于 2011-12-12 08:05:41 | 显示全部楼层 |阅读模式
;;;重新理解or--而今迈步从头越
;;1 例
(or msg (setq msg "1"));返回T。
;;类似于(if msg nil (setq msg "1")),返回结果

;;2 例
(or msg (equal msg "1") (setq my ""));返回T。
;;类似于cond(返回不同)
(cond (msg t)
      ((equal msg "1") t)
      (t (setq my ""))
)

;;3另外看了caoyin的ENTSEL1.lsp,确实相当好的教材,难得!
;;其中有一句
(setq SS (ssadd (car E) (ssadd)))
;;而我们的通常写法是
(setq ss (ssadd))
(ssadd (car E) ss)
;;相比原来在拜年贴上发表的,又向前迈了一大步,
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2011-12-12 08:16:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-12-12 08:25:06 | 显示全部楼层
初学者还是老老实实的写,不然会把自己玩晕。
发表于 2011-12-12 08:40:19 | 显示全部楼层
不错,
发表于 2011-12-12 09:18:30 | 显示全部楼层
本帖最后由 highflybird 于 2011-12-12 09:25 编辑

or 和and 函数 都是这样

(or   表达式或者值1 表达式或者值2 表达式或者值3...)
只要遇到的一个表达式或者值成立 ,即为 T ,后面的就不会再执行
下面的两个例子,在or 或者and 之前,假设 a和b都未赋值。
例如

  1. (or nil (setq a 3) (setq b 4))

你会发现, a的值是3, 但(setq b 4)的那句并未执行。所以b还是nil.

而and的意思是.

(and  表达式或者值1 表达式或者值2 表达式或者值3...)
只要遇到的一个表达式或者值不成立 ,即为nil,后面的就不会再执行

例如

  1. (and T (setq a nil) (setq b 4))

and返回后,a的值是nil,但b的值也是nil,后面的那句(setq b 4)并没有执行.





评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1 透彻!!!

查看全部评分

发表于 2011-12-12 12:32:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 11:47 , Processed in 0.200685 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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