hawnn 发表于 2009-7-25 22:52:00

[求助]"软参数"

<p>(defun XX( A / msg)</p><p>(if (not a)</p><p>&nbsp;&nbsp;&nbsp; (setq obj (entsel "\n选择对象:"))</p><p>&nbsp;&nbsp;&nbsp; (setq obj (entsel A))</p><p>)</p><p>……</p><p>求教</p><p>能不能将参数A设为“软参数”</p><p>意思即是,如果有这个参数我就用这个参数</p><p>如果没有这个参数我就设一个默认的值</p>

Andyhon 发表于 2009-7-25 23:07:00

Call ==&gt; (XX A)<br/>(XX nil) ==&gt;&nbsp; (setq obj (entsel "\n选择对像:"))<br/>(XX "\n选择方框: ")&nbsp; ==&gt;&nbsp; (setq obj (entsel A)) ==&gt;&nbsp; (setq obj (entsel "\n选择方框: "))

hawnn 发表于 2009-7-25 23:28:00

<p>回一楼</p><p>我不明白你的意思</p><p>有Call这个函数吗?我只记得批处理命令就有这个</p><p>Lisp?怎么玩?</p>

vivi8543 发表于 2009-7-26 10:08:00

<p>楼主是说给参数设定默认值吧?这个我经常用,给个例子吧:</p><p>(setq x (getint "请输入最大编号(500以内可直接确定)"))<br/>&nbsp; (if (= x nil) (setq max 500) (setq max x))</p>

hawnn 发表于 2009-7-26 10:50:00

<p>其实不带这么玩的</p><p>自定义函数如果要求提供参数的话,在运行该函数时如果不提供参数会出现错误</p><p>"错误:参数太少"</p><p>明白我的意思吗</p>

nonsmall 发表于 2009-7-27 00:22:00

<p><strong>书上写的不一定永远正确</strong></p><p><strong>LISP定义可选参数函数的调用:</strong></p><p><a href="http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&amp;replyID=115936&amp;id=72144&amp;skin=0">http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&amp;replyID=115936&amp;id=72144&amp;skin=0</a></p>

xchrimp 发表于 2009-7-27 09:00:00

页: [1]
查看完整版本: [求助]"软参数"