明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1693|回复: 14

[求助]如何获取变量中变量的值?

  [复制链接]
发表于 2008-5-19 20:12 | 显示全部楼层 |阅读模式
  1. (setq abcd "efgh");"efgh"
  2. (set (read abcd) (list 0 0 0));此时变量efgh为(0 0 0)
  3. (command "insert" "AAA" (read abcd) abcd);现在想用efgh这个点,但是被报错了。因为一开始并不一定是efgh,这个文本本身在变。
请前辈们指点一下,我怎样都得得到(0 0 0)这个点?
发表于 2008-5-19 20:45 | 显示全部楼层
(command "insert" "AAA" (eval (read abcd)) "" "" "")
 楼主| 发表于 2008-5-19 20:49 | 显示全部楼层
感谢版主指点!
 楼主| 发表于 2008-5-21 08:15 | 显示全部楼层
又有新问题了,怎么将这个变量像局部变量一样清掉呢?
发表于 2008-5-21 13:27 | 显示全部楼层
(set (read abcd) nil) 不行么?
 楼主| 发表于 2008-5-21 16:12 | 显示全部楼层

这样当然是可以清掉,但这个数据用的时机不好掌握。因有如下判断式,故不能随便把它清掉。我想在程序退出的时候清理,但abcd本身就是个变量,可能是"ABCD""EEAC"等等,所以感觉较难。

(if (not (null (eval (read abcd))))……)

发表于 2008-5-21 16:23 | 显示全部楼层
技术含量太高了,不懂
 楼主| 发表于 2008-5-21 21:55 | 显示全部楼层

是这样的,有一个字符串型的变量abcd,它的值可能是"aa1" "aa2" "aa3"等等,也可以说有一定规律。

而我对aa1等赋值一个坐标点,如(1 2 3)等,再通过判断aa1是否为空来决定程序下一步执行的内容。

程序结束后,我想将aa1等局部变量一样清空,以免影响到其它程序的运行,不知道该怎么操作?

发表于 2008-5-21 22:09 | 显示全部楼层
局部变量只要写在DEFUN后面的括弧中就能在程序结束时自动清零,不用另外处理。
 楼主| 发表于 2008-5-22 08:06 | 显示全部楼层
问题是aa1等本身就是一个变量,怎么往括号里写呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 14:07 , Processed in 1.343180 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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