代码可阅读性
Lee Mac 的代码真的是。。。难对照代码都没法消化,比如随便摘一段Lee Mac的函数中的代码。
(setq
ent (entget ent)
lst (_vertices ent)
lst (apply 'mapcar
(cons
(function
(lambda ( a b )
(
(lambda ( c )
(mapcar
(function
(lambda ( d )
(mapcar
(function
(lambda ( e f )
(mapcar 'd (car e)
(mapcar
(function
(lambda ( g ) (* g (/ f 2.0)))
)
c
)
)
)
)
(list a b) (cdr a)
)
)
)
(list + -)
)
)
(
(lambda ( v / n )
(setq v (list (- (cadr v)) (car v) 0.0)
n (distance '(0. 0.) v)
)
(if (equal 0.0 n 1e-14)
(list0.0 0.0 0.0)
(mapcar '/ v (list n n n))
)
)
(mapcar '- (car a) (car b))
)
)
)
)
(if (= 1 (logand 1 (cdr (assoc 70 ent))))
(list
(cons (last lst) lst)
(append lst (list (car lst)))
)
(list lst (cdr lst))
)
)
)
lst (
(lambda ( a )
(if (zerop (logand 1 (cdr (assoc 70 ent))))
(append
(list (mapcar 'car(carlst)))
a
(list (mapcar 'cadr (last lst)))
)
a
)
)
(apply 'append
(mapcar
(function
(lambda ( a b / c )
(if
(setq c
(apply 'append
(mapcar
(function
(lambda ( d e / f )
(if (setq f (inters (car d) (cadr d) (car e) (cadr e) nil))
(list f)
)
)
)
a b
)
)
)
(list c)
)
)
)
lst (cdr lst)
)
)
)
)
LM有自己的风格,确实比较晦涩,但别人的轮子,装你车上,能正常跑就好。 Lee mac主打一个数学好,真的很难。 lambda与mapcar函数好难学 qazxswk 发表于 2024-8-13 22:44
lambda与mapcar函数好难学
看似两个,其实就一个mapcar,什么?你没写过defun?当我没说 又不需要重写其功能,就拿他的函数当成普通lisp函数,会用就行了。
页:
[1]