问下list怎么转成变量并执行语句
本帖最后由 yaojing38 于 2023-6-5 19:47 编辑(setq a (STRCAT ZXMM "_" TZZY "_" TZBH "_" TZMC))
a是这样一个语句,其中 ZXMMTZZY TZBH TZMC 均为变量,当前a 赋值得到 (STRCAT ZXMM "_" TZZY "_" TZBH "_" TZMC) 当前是一个list,我是从外部txt 读取进来的,,怎么让语句运行,,a 得到运行的值呢??还是我得换个方法,,,因为这里的变量组合是要能更改的,,大神们是怎么操作的呢。。。。求不吝赐教,,,谢谢!
(defun rrr (Lst / ttt)
(defun ttt (Str Lst)
(if (not Lst)
Str
(ttt (strcat Str "_" (car Lst)) (cdr Lst))
)
)
(ttt (car Lst) (cdr Lst))
)
_$ (rrr '("a" "b" "c" "d"))
"a_b_c_d"
是这个意思? 本帖最后由 yaojing38 于 2023-6-5 21:16 编辑
nzl1116 发表于 2023-6-5 20:11
_$ (rrr '("a" "b" "c" "d"))
"a_b_c_d"
是这个意思?
不是哦,,,ZXMMTZZY TZBH TZMC 这里的这些要转成形参传值用。。。就是我要组合变量,让a不同的组合有不同的值比如:我程序中 ZXMM"1" TZZY "2" TZBH"3" TZMC "4" 数字为各参数的真实值,然后a就成了“1_2_3_4”,当我改变 ZXMMTZZY TZBH TZMC 顺序,他有时候要成为“1_3_2_4”。 看不懂 你还是发源码上来吧 这么问很难解决问题 yaojing38 发表于 2023-6-5 21:12
不是哦,,,ZXMMTZZY TZBH TZMC 这里的这些要转成形参传值用。。。就是我要组合变量,让a不同的组合有 ...
set函数可以不?? (setq a(eval'(...))) (set(read (nth i a)) "值") 可以了,,6#正解,,7#一个个赋值的好像也可以,方法不一样。。谢谢大佬们!!! 使用 set, read 函数解决你的问题。
页:
[1]