yaojing38 发表于 2023-6-5 19:43:46

问下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 得到运行的值呢??还是我得换个方法,,,因为这里的变量组合是要能更改的,,大神们是怎么操作的呢。。。。求不吝赐教,,,谢谢!

nzl1116 发表于 2023-6-5 20:11:53

(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:12:56

本帖最后由 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”。

飞雪神光 发表于 2023-6-5 23:41:38

看不懂 你还是发源码上来吧 这么问很难解决问题

sandyvs 发表于 2023-6-5 23:44:21

yaojing38 发表于 2023-6-5 21:12
不是哦,,,ZXMMTZZY TZBH TZMC 这里的这些要转成形参传值用。。。就是我要组合变量,让a不同的组合有 ...

set函数可以不??

x_s_s_1 发表于 2023-6-6 08:05:40

(setq a(eval'(...)))

liweihua-1984 发表于 2023-6-6 08:28:36

(set(read (nth i a))   "值")

yaojing38 发表于 2023-6-6 09:06:27

可以了,,6#正解,,7#一个个赋值的好像也可以,方法不一样。。谢谢大佬们!!!

e2002 发表于 2023-6-7 10:11:46

使用 set, read 函数解决你的问题。
页: [1]
查看完整版本: 问下list怎么转成变量并执行语句