只需一步,快速开始
还有更短的么?有
(defun tt (lst str) (setq a (car lst) b (cdr lst))(if b (strcat a "," (tt b str)) a))
使用道具 举报
我认为,fsxm的程序好,精简,完善。
;;连结表中字符串(defun Fsxm-join (lst str) (substr (apply 'strcat (mapcar '(lambda (a) (strcat str a)) lst)) (1+ (strlen str)) ))
狂刀lxx的第二程序也还错,还用了递归调用,不过最好把a和b说明成局部变量,还有就是lst为nil时,两个程序的返回值不同,前者为"",后者为nil。
(defun tt (lst str / a b) (setq a (car lst) b (cdr lst))(if b (strcat a "," (tt b str)) a))
(defun fsxm-join (lst str / b) (setq b (car lst)) (foreach a lst (setq b (strcat b str a))) b)
再来一个用foreach速度可能更快点。
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-6 09:26 , Processed in 0.150042 second(s), 18 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.