找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 702|回复: 4

[LISP程序]:参数太少

[复制链接]
发表于 2003-8-27 14:05:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教下面的LISP为什么参数太少,多谢.



(defun c:9(lite1 lite2 lite3 lite4)
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  ;;
  (initget "1 2 3 4")
  (setq lite (getkword "please enter 1, 2, 3, 4, <1>:"))
  (if (= lite nil) (setq lite 1))
    (cond  ((= lite 1) (princ 1))
           ((= lite 2) (princ 2))
           ((= lite 3) (princ 3))
           ((= lite 4) (princ 4))
           (T          (princ 1))
           )
    )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-8-27 15:06:50 | 显示全部楼层
这段程序有多多问题:
1.函数名不能数字打头
2.带C:的函数不能有参数
3.GETKWORD 返回的是字符号
这是改好的CODE:
(defun c:test ( / lite1 lite2 lite3 lite4)
(setvar "cmdecho" 0)
(setvar "osmode" 0)
;;
(initget "1 2 3 4")
(setq lite (getkword "please enter 1, 2, 3, 4, <1>:"))
(if (= lite nil) (setq lite 1))
(cond ((= lite "1") (princ 1))
((= lite "2") (princ 2))
((= lite "3") (princ 3))
((= lite "4") (princ 4))
(T (princ 1))
)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-27 17:03:14 | 显示全部楼层
COND里的一大堆没什么用处直接 princ就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-8-28 00:54:49 | 显示全部楼层

Re: [LISP程序]:参数太少

最初由 zhaozhi 发布
[B]请教下面的LISP为什么参数太少,多谢.



(defun c:9(lite1 lite2 lite3 lite4)
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  ;;
  (initget "1 2 3 4")
  (setq lite (getkword "please enter 1, 2, 3,... [/B]


上面的其实都答了.

1.(defun c:9 ( / lite1...)
数字可以.

参数也可以加,但命令直接9是不行了.要这样运行比如:
(defun c:9(a)(princ a))
要用只能打入命令: (c:9 0)

2. 整个code写成(princ lite)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-28 04:18:00 | 显示全部楼层
4楼:
"参数也可以加" ??  即 (defun c:test (lite1 lite2 lite3 lite4) ??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 19:00 , Processed in 0.294864 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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