明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 913|回复: 5

[基础] lisp 传递参数

[复制链接]
发表于 2020-2-25 10:40:12 | 显示全部楼层 |阅读模式
各位请问一个lisp调用另一个lisp能否带个参数(setq a "参数")

(load "test.lisp")


如上,能否把a传递到test.lisp中去,TKS
发表于 2020-2-25 20:23:29 | 显示全部楼层
cad的变量默认状态就是全局变量,一处赋值可以多个程序使用的。如果用了独立命名空间,才会出现不能用的问题
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-25 12:56:23 | 显示全部楼层
把a设为全局变量应该可以

(defun c:tt5 ()
(setq a (getpoint))
(c:tt6)
)

(defun c:tt6 (/ b)
(if (not a) (setq b(getpoint)) (setq b a a nil))
        (command "circle" "non" b 200)
)
 楼主| 发表于 2020-2-25 14:14:06 | 显示全部楼层
本帖最后由 slysmart 于 2020-2-25 14:18 编辑
start4444 发表于 2020-2-25 12:56
把a设为全局变量应该可以

(defun c:tt5 ()

虽然现在还不是很明白,但非常感谢
你这个好像是在同一个lisp,函数之间参数传递
而不是一个lisp文件调用另一个lisp

点评

就是tt5 的 a 传递到 tt6里 进行运作,不行就把你的码发上来看看  发表于 2020-2-25 14:27
发表于 2020-2-25 17:19:07 | 显示全部楼层
本帖最后由 tryhi 于 2020-2-26 10:09 编辑

;;将此代码保存为a.lsp后加载
(defun c:tt ()
        (setq a "参数")
        (load "b.lsp")
)




;;将此代码保存为b.lsp,不加载
(alert a)




运行tt,则调用b.lsp并传递了参数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 07:09 , Processed in 0.159301 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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