只需一步,快速开始
(setq lst (list "xyz" "ab" "cd" ""ef" ""gh"))
有这么一个表,我想实现以下功能,不知道可不可能。将表中的第一个元素作为基本元素,其后的每个元素加上jk成为一个变量,其值为"xyz-1"等,1这个数字即们该元素在表中的位置-1,如下
abjk-->"xyz-1"cdjk-->"xyz-2"efjk-->"xyz-3"ghjk-->"xyz-4"
说简单点就是把表中的每个元素作为一个变量,不知道我说清楚没有?
使用道具 举报
这个可以用LISP实现。
(setq lst (list "xyz" "ab" "cd" ""ef" ""gh"))(setq i -1 lst1 (list))(repeat (length lst) (setq lst1 (cons (read (strcat (nth (setq i (1+ i)) lst) "-" (itoa (1+ i)))) lst1)))(setq lst1 (reverse lst1))
表lst1中就是变量名的表。
可能是我没有说清楚引起版主的误解。
我要的变量名是表中的元素+特定字符。
变量的值是该变量在原表中的位置。
(setq lst (list "xyz" "ab" "cd" "ef" "gh"))(setq i -1 lst1 (list))(repeat (length lst) (setq lst1 (cons (read (strcat (nth (setq i (1+ i)) lst) "-" (itoa (1+ i)))) lst1)))(setq lst1 (reverse lst1))
程序运行结果如下:
(XYZ-1 AB-2 CD-3 EF-4 GH-5)
再运行:
(setq i -1)(repeat (length lst1) (set (nth (setq i (1+ i)) lst1) (1+ i)))
就可以将表中的位置置入变量中。
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-10 13:13 , Processed in 0.151175 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.