明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1138|回复: 11

[提问] 变量转字符串带双引号

[复制链接]
发表于 2019-10-17 12:09 来自手机 | 显示全部楼层 |阅读模式
变量转字符串带双引号
想要下面这段字符串效果,其中A1是变量(setq str "A1")
label=“A1”


/"转义符会将变量直接读成str变量名而不是str的变量值"A1"
请问这段字符串代码怎么写?
发表于 2019-10-20 18:50 | 显示全部楼层
本帖最后由 lisperado 于 2019-10-20 18:53 编辑

请看strcat函数

  1. (defun c:tt ( / i lst)
  2. (setq i 0 lst '(1 2 "3" "A" B))
  3. (repeat (length lst)
  4. (terpri)
  5. (setq str (nth i lst))
  6. (print (strcat "label=\"key" (vl-princ-to-string str)  "\" ;" ) )
  7. (setq i (1+ i))
  8. )
  9. (textpage)
  10. (princ)
  11. )

  12. ;|print和read-line ,write-line,read-line返回值
  13. "label=\"key1\" ;"
  14. "label=\"key2\" ;"
  15. "label=\"key3\" ;"
  16. "label=\"keyA\" ;"
  17. "label=\"keyB\" ;"
  18. |;


princ 返回值
label="key1" ;
label="key2" ;
label="key3" ;
label="keyA" ;
label="keyB" ;


 楼主| 发表于 2019-10-19 22:13 来自手机 | 显示全部楼层
1291500406 发表于 2019-10-19 20:44
(setq A1 1)
(alert(strcat "label = \"" (vl-princ-to-string A1)"\""))
label = "1"

感谢这个是需要的
之前一直试过无数遍,错误在第一组需要2个双引号
发表于 2019-10-19 20:44 | 显示全部楼层
本帖最后由 1291500406 于 2019-10-19 21:09 编辑

(setq A1 1)
(alert(strcat "label = \"" (vl-princ-to-string A1)"\""))
label = "1"
 楼主| 发表于 2019-10-18 10:04 来自手机 | 显示全部楼层
有知道的吗?求助
 楼主| 发表于 2019-10-19 17:00 来自手机 | 显示全部楼层
困扰好久了,有没有人能解(>﹏<)
发表于 2019-10-19 17:51 | 显示全部楼层
不知道是不是 set    read
 楼主| 发表于 2019-10-19 18:08 来自手机 | 显示全部楼层
需要字符串是这种结果 label=“A1”
 楼主| 发表于 2019-10-19 18:11 来自手机 | 显示全部楼层
"A1"是变量的值
 楼主| 发表于 2019-10-19 18:13 来自手机 | 显示全部楼层
"A1"是变量的值,如果用strcat得到的是"label=A1", 而不是想要的"label="A1""
发表于 2019-10-19 19:11 | 显示全部楼层
本帖最后由 迷失2004 于 2019-10-19 19:25 编辑

我理解错了,不知道怎么删这个回复 抱歉
 楼主| 发表于 2019-10-19 21:09 来自手机 | 显示全部楼层
是的制作对话框功能的,我用repeat循环lst里面的str字符串制作key的值,然后用write-line写成dcl文件

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-4-25 19:01 , Processed in 0.616445 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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