atimao 发表于 2003-8-1 14:58:00

求助:如何将列表中的元素转成字符串?

如何将列表中的元素转成字符串?如 (12 34 56 78 90)=>"1234567890". 谢谢!

meflying 发表于 2003-8-1 16:19:00

(defun list-string(lst)
(setq a (vl-prin1-to-string (car lst)))
(apply 'strcat (mapcar '(lambda(b) (vl-prin1-to-string b)) lst))
)

atimao 发表于 2003-8-1 22:31:00

非常感谢!刚学Autolisp语言,找不到 "vl-prin1-to-string"是什么函数,所以无法理解,

自已琢磨瞎写了一段:
(defun list_string (a b n)
(setq a "")
(foreachn (reverse (例表)) (setq a (strcat (setq b (itoa n)) a )))
)
可不清楚为什么要设变量"a"为空才可以执行? 变量没设定时,默认是应该为空吗?

meflying 发表于 2003-8-2 11:14:00

那句(setq a ...)可以不要,将vl-prin1-to-string改为itoa或rtos都可以
(defun list-string(lst)
(apply 'strcat (mapcar '(lambda(b) (vl-prin1-to-string b)) lst))
)

atimao 发表于 2003-8-2 15:55:00

谢谢,简单明了

龙龙仔 发表于 2003-8-8 17:11:00

(defun LIST-STRING (LST)
(apply 'strcat
       (mapcar 'vl-prin1-to-string LST)
)
)
页: [1]
查看完整版本: 求助:如何将列表中的元素转成字符串?