明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1682|回复: 5

[已解答] 关于检测函数是否存在的问题,望各路大侠出手相助啊

[复制链接]
发表于 2014-11-13 15:43:21 | 显示全部楼层 |阅读模式
1明经币
前段时间,73兄搞了个图块转代码的程序,于是我想把他这个跟之前的用command插入外部块结合起来
于是搞出了这个  (or (图块代码函数) (command插入外部块的函数)) 本想是图块的代码函数存在的话就加载图块代码函数,要是不在的话,就用command来插入图块,但是直接这样写的话,当图块代码函数不存在的话,(图块代码函数) 返回的不是nil,所以想请教下各路高人,有没有办法写个函数,当图块代码函数存在时,就运行图块代码函数 不存在时,就运行另一个函数(即command的函数,或者返回NIL也行)

最佳答案

查看完整内容

(if (not 图块代码函数) (command插入外部块的函数)(图块代码函数))
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-11-13 15:43:22 来自手机 | 显示全部楼层
(if  (not 图块代码函数) (command插入外部块的函数)(图块代码函数))

点评

不好意思,一开始没理解,还以为你写错了呢(─.─|||  发表于 2014-11-13 19:23
回复

使用道具 举报

发表于 2014-11-13 16:01:32 | 显示全部楼层
你的要求可能无法达到,检测函数是否存在有办法,但无法检测是不是“图块代码函数”,函数定义后不加载就是磁盘上的文档,加载后不运行没人知道他要干什么,除非你特别为他加一个说明,以后你追踪这个说明,就像我们看到路上那么多人,你不知道谁是干什么的。
不过一旦有此功能的代码加载,后面的的command也就没什么意思了。
顺便说一句,command函数不管执行什么命令,产生什么结果,返回值总是nil。
回复

使用道具 举报

 楼主| 发表于 2014-11-13 16:31:59 | 显示全部楼层
ll_j 发表于 2014-11-13 16:01
你的要求可能无法达到,检测函数是否存在有办法,但无法检测是不是“图块代码函数”,函数定义后不加载就是 ...

CAD是可以判断的,运行程序时,要是缺少某个子函数,就会有提示,no function definition:xxx,我现在就是想,当xxx程序是no function definition:时不是返回no function definition:这个字符串提示信息,而是返回一个值(nil或者T或者一个固定的值)给我就行
至于后面的command的函数先无视它,我拿它只是为了想说明的更清楚的,现在看来是适得其反了
回复

使用道具 举报

 楼主| 发表于 2014-11-13 18:46:41 | 显示全部楼层
Gu_xl 发表于 2014-11-13 18:33
(if  (not 图块代码函数) (command插入外部块的函数)(图块代码函数))

_$ (if (not (aaa))(setq a 1)(setq a 2))
; 错误: no function definition: AAA
_$ a
nil
_$

(图块代码函数) ,当“图块代码函数”无定义时,前面加不加 NOT,返回的都是 no function definition:
回复

使用道具 举报

发表于 2014-11-13 19:09:14 | 显示全部楼层
(not aaa)
;;補字

评分

参与人数 1金钱 +10 收起 理由
伪书虫86 + 10 看到你这个,顿悟了G版的代码了

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 14:41 , Processed in 0.194818 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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