明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 801|回复: 5

[提问] 如何获取批量给字符串变量所赋的值?

[复制链接]
发表于 2023-9-15 20:53:21 | 显示全部楼层 |阅读模式
  1. (defun C:GG(/)
  2. ;; 批量给字符串变量赋值
  3. (setq n 0)
  4. (repeat 8
  5. (setq n (1+ n))
  6. (set (read (strcat "lst_" (itoa n))) (strcat "A_" (itoa n)))
  7. )

  8. ;; 如何批量获取变量的值???
  9. (setq n 0)
  10. (repeat 8
  11. (setq n (1+ n))
  12. (princ "\n")
  13. (princ (read (strcat "lst_" (itoa n))))
  14. )
  15. (princ)
  16. )


 楼主| 发表于 2023-9-15 21:07:26 | 显示全部楼层
问题已解决,不好意思
  1. (defun C:GG(/)
  2. ;; 批量给字符串变量赋值
  3. (setq n 0)
  4. (repeat 8
  5. (setq n (1+ n))
  6. (set (read (strcat "lst_" (itoa n))) (strcat "a_" (itoa n)))
  7. )

  8. ;; 批量获取变量值
  9. (setq n 0)
  10. (repeat 8
  11. (setq n (1+ n))
  12. (setq str(vl-symbol-value (read (strcat "lst_" (itoa n)))))
  13. (princ "\n")
  14. (princ str)
  15. )
  16. (princ)
  17. )

发表于 2023-9-15 22:50:57 | 显示全部楼层
(eval(read (strcat "lst_" (itoa n)))) eval也可以
 楼主| 发表于 2023-9-15 22:56:56 来自手机 | 显示全部楼层
飞雪神光 发表于 2023-9-15 22:50
(eval(read (strcat "lst_" (itoa n)))) eval也可以

感谢大佬解惑
发表于 2023-9-15 23:41:11 | 显示全部楼层
  1. (defun c:tt (/)
  2.   "批量给字符串变量赋值"
  3.   (setq        n   0
  4.         lst '()
  5.   )
  6.   (repeat 8
  7.     (setq n   (1+ n)
  8.           a   (strcat "lst_" (itoa n))
  9.           b   (strcat "a_" (itoa n))
  10.           lst (cons a lst)
  11.     )
  12.     (set (read a) b)
  13.   )
  14.   "批量获取变量值"
  15.   (setq lst (reverse lst))
  16.   (princ (mapcar '(lambda (x) (eval (read x))) lst))
  17.   (princ)
  18. )
 楼主| 发表于 2023-9-16 07:50:24 来自手机 | 显示全部楼层
xyp1964 发表于 2023-9-15 23:41

谢谢,了解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 04:40 , Processed in 0.147141 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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