namezg 发表于 2013-4-20 17:09:29

如何获得当前文档的所有全局变量名

本帖最后由 namezg 于 2013-4-21 17:26 编辑

如何获得当前文档的其它程序添加的所有全局变量名列表,cad自带的不要.

ll_j 发表于 2015-8-19 09:17:43

我爱lisp 发表于 2014-6-21 22:05 static/image/common/back.gif
;;;突然有一个体会,不知道对不对?全局变量也是相当的,比如
(defun aa ( / a)



http://bbs.mjtd.com/thread-109824-1-1.html

namezg 发表于 2013-4-21 07:36:19

大侠们。帮帮忙。

nzl1116 发表于 2013-4-21 09:20:59

你自己试过了吗?

namezg 发表于 2013-4-21 17:24:39

有些变量在未加载其它程序时就存在,暂时管这些变量叫做内置全局变量,所有全局变量已能获取,可无法判断哪些是内置全局变量,哪些是二次开发程序添加的。我只想得到不是内置的全局变量列表。

Gu_xl 发表于 2013-4-21 17:45:52

namezg 发表于 2013-4-21 17:24 static/image/common/back.gif
有些变量在未加载其它程序时就存在,暂时管这些变量叫做内置全局变量,所有全局变量已能获取,可无法判断哪 ...

打开CAD,用atoms-family 函数得到当前已定义的符号组成的一个表,然后再加载你的Lsp文件,用atoms-family 函数又得到当前已定义的符号组成的一个表,两个表相比较,得到后加载的符号列表,去除符号函数,剩下的就是Lsp文件的全局变量表!我记得明经有一期知识测验里有这个命题,去找来参考下!

我爱lisp 发表于 2014-6-21 21:46:03

找的好辛苦啊,atoms-family函数,希望有人在这个函数上在功能扩展一下

我爱lisp 发表于 2014-6-21 22:05:42

;;;突然有一个体会,不知道对不对?全局变量也是相当的,比如
(defun aa ( / a)

(bb)
    ( setq a b)

(defun bb (/ b )
   ( setq b "3")
)
(princ a)
)

(aa)

(defun cc ( / a)

;;(bb)
    ( setq a b)


(princ a)
)
(cc)
讨论:这里的b按道理不是全局变量,为啥可以进行值传递呢?

lucas_3333 发表于 2015-8-18 18:59:29

Gu_xl 发表于 2013-4-21 17:45 static/image/common/back.gif
打开CAD,用atoms-family 函数得到当前已定义的符号组成的一个表,然后再加载你的Lsp文件,用atoms-famil ...

这样获取的是全局变量名, 还是所有变量名?
页: [1]
查看完整版本: 如何获得当前文档的所有全局变量名