明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1397|回复: 6

[求助]"软参数"

[复制链接]
发表于 2009-7-25 22:52:00 | 显示全部楼层 |阅读模式

(defun XX( A / msg)

(if (not a)

    (setq obj (entsel "\n选择对象:"))

    (setq obj (entsel A))

)

……

求教

能不能将参数A设为“软参数”

意思即是,如果有这个参数我就用这个参数

如果没有这个参数我就设一个默认的值

发表于 2009-7-25 23:07:00 | 显示全部楼层
Call ==> (XX A)
(XX nil) ==>  (setq obj (entsel "\n选择对像:"))
(XX "\n选择方框: ")  ==>  (setq obj (entsel A)) ==>  (setq obj (entsel "\n选择方框: "))
 楼主| 发表于 2009-7-25 23:28:00 | 显示全部楼层

回一楼

我不明白你的意思

有Call这个函数吗?我只记得批处理命令就有这个

Lisp?怎么玩?

发表于 2009-7-26 10:08:00 | 显示全部楼层

楼主是说给参数设定默认值吧?这个我经常用,给个例子吧:

(setq x (getint "请输入最大编号(500以内可直接确定)"))
  (if (= x nil) (setq max 500) (setq max x))

 楼主| 发表于 2009-7-26 10:50:00 | 显示全部楼层

其实不带这么玩的

自定义函数如果要求提供参数的话,在运行该函数时如果不提供参数会出现错误

"错误:参数太少"

明白我的意思吗

发表于 2009-7-27 00:22:00 | 显示全部楼层

书上写的不一定永远正确

LISP定义可选参数函数的调用:

http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=115936&id=72144&skin=0

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

本版积分规则

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

GMT+8, 2024-10-1 09:38 , Processed in 0.142019 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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