明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1236|回复: 2

[函数] 怎么写一个函数能同时支持“不带参数或也可以带一个参数”

[复制链接]
发表于 2011-8-1 13:04 | 显示全部楼层 |阅读模式
某软件的指定路径的函数,这个函数可以不带参数,也可以带一个参数
(getxxpath)
(getxxpath 1)
(getxxpath 2)
(getxxpath "lisp")
(getxxpath "data")


我想自己重新定义,总是不行,代码如下,GetmysoftPath为自己已定义的获取路径的函数
(defun getxxpath (path)
   (cond
      ((= path nil)(GetmysoftPath))
      ((= path 1)(strcat (GetmysoftPath) "\\lisp"))
      ((= path 2)(strcat (GetmysoftPath) "\\data"))
      ((= path "lisp")(strcat (GetmysoftPath) "\\lisp"))
      ((= path "data")(strcat (GetmysoftPath) "\\data"))
   )
)

主要问题,怎么写一个函数能同时支持“不带参数或也可以带一个参数”,而参数中出现1而不是“1”,怎么实现,
网上搜了很多,没找到解决办法,自己也想了很长时间,恳请各位高手帮帮忙!!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-8-1 13:35 | 显示全部楼层
楼主,如果找到答案麻烦你转告我一下,因为我也想知道。就像“+”这个函数(+ . . . . . )多少个参数都可以
发表于 2011-8-1 13:39 | 显示全部楼层
C / C++ 的模式 并非皆能用 Lisp 来实现的
变通之道是用封包,但至少得有一个引数 (Myfun Arg1)
老帖中有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-18 10:55 , Processed in 0.132166 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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