[求助]"软参数"
<p>(defun XX( A / msg)</p><p>(if (not a)</p><p> (setq obj (entsel "\n选择对象:"))</p><p> (setq obj (entsel A))</p><p>)</p><p>……</p><p>求教</p><p>能不能将参数A设为“软参数”</p><p>意思即是,如果有这个参数我就用这个参数</p><p>如果没有这个参数我就设一个默认的值</p> Call ==> (XX A)<br/>(XX nil) ==> (setq obj (entsel "\n选择对像:"))<br/>(XX "\n选择方框: ") ==> (setq obj (entsel A)) ==> (setq obj (entsel "\n选择方框: ")) <p>回一楼</p><p>我不明白你的意思</p><p>有Call这个函数吗?我只记得批处理命令就有这个</p><p>Lisp?怎么玩?</p> <p>楼主是说给参数设定默认值吧?这个我经常用,给个例子吧:</p><p>(setq x (getint "请输入最大编号(500以内可直接确定)"))<br/> (if (= x nil) (setq max 500) (setq max x))</p> <p>其实不带这么玩的</p><p>自定义函数如果要求提供参数的话,在运行该函数时如果不提供参数会出现错误</p><p>"错误:参数太少"</p><p>明白我的意思吗</p> <p><strong>书上写的不一定永远正确</strong></p><p><strong>LISP定义可选参数函数的调用:</strong></p><p><a href="http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=115936&id=72144&skin=0">http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=115936&id=72144&skin=0</a></p>
页:
[1]