AutoLisp中的递归使用
本帖最后由 ll_j 于 2013-8-11 13:40 编辑这是个人对递归使用的看法,原创,因为太长,所以以pdf格式上传。
谢谢楼主分享,楼主是个热心人! 感谢大佬的分享,学习了 谢谢楼主分享。 顶,一是要好好向楼主学习,感射共享! 递归这东西,我确实是 没理解透彻。
特来学习,感谢分享。 谢谢,受益匪浅 顶一顶!! 根据你的分析,你上面提到的BAtte:lst->str,是不是改成如下定义更好些呢?
(defun BAtte:lst->str (lst del)
(if (not (cdr lst))
(car lst)
(strcat (car lst) del (BAtte:lst->str (cdr lst) del))
)
) 自贡黄明儒 发表于 2013-8-12 15:18 static/image/common/back.gif
根据你的分析,你上面提到的BAtte:lst->str,是不是改成如下定义更好些呢?
(defun BAtte:lst->str (lst d ...
尾递归不是说一定要在书面上把递归写在最后,而是实际运算中应该在最后,你这样表达和原本的写法是相同的,但判断多了一层not,是不合算的,自由判断后两个分支,非此即彼,而且只能有一个,所以,那个写在前面是无所谓的。
顺便说一下,这个函数就是从你的帖子里面截出来的。 沉得很快,最后再顶一次。 这个递归太深了,所以一般都不太关注。比如我写的〈钢板重量加法器〉,因为简单,所以顶的人要多一些 难理解的知识。学习了!
页:
[1]
2