关于检测函数是否存在的问题,望各路大侠出手相助啊
前段时间,73兄搞了个图块转代码的程序,于是我想把他这个跟之前的用command插入外部块结合起来于是搞出了这个(or (图块代码函数) (command插入外部块的函数)) 本想是图块的代码函数存在的话就加载图块代码函数,要是不在的话,就用command来插入图块,但是直接这样写的话,当图块代码函数不存在的话,(图块代码函数) 返回的不是nil,所以想请教下各路高人,有没有办法写个函数,当图块代码函数存在时,就运行图块代码函数 不存在时,就运行另一个函数(即command的函数,或者返回NIL也行)
(if(not 图块代码函数) (command插入外部块的函数)(图块代码函数)) 你的要求可能无法达到,检测函数是否存在有办法,但无法检测是不是“图块代码函数”,函数定义后不加载就是磁盘上的文档,加载后不运行没人知道他要干什么,除非你特别为他加一个说明,以后你追踪这个说明,就像我们看到路上那么多人,你不知道谁是干什么的。
不过一旦有此功能的代码加载,后面的的command也就没什么意思了。
顺便说一句,command函数不管执行什么命令,产生什么结果,返回值总是nil。 ll_j 发表于 2014-11-13 16:01 static/image/common/back.gif
你的要求可能无法达到,检测函数是否存在有办法,但无法检测是不是“图块代码函数”,函数定义后不加载就是 ...
CAD是可以判断的,运行程序时,要是缺少某个子函数,就会有提示,no function definition:xxx,我现在就是想,当xxx程序是no function definition:时不是返回no function definition:这个字符串提示信息,而是返回一个值(nil或者T或者一个固定的值)给我就行
至于后面的command的函数先无视它,我拿它只是为了想说明的更清楚的,现在看来是适得其反了 Gu_xl 发表于 2014-11-13 18:33 static/image/common/back.gif
(if(not 图块代码函数) (command插入外部块的函数)(图块代码函数))
_$ (if (not (aaa))(setq a 1)(setq a 2))
; 错误: no function definition: AAA
_$ a
nil
_$
(图块代码函数) ,当“图块代码函数”无定义时,前面加不加 NOT,返回的都是 no function definition: (not aaa)
;;補字
页:
[1]