尝试在这里为一个新项目清理一些代码,并了解我对LISP的使用有多生疏。所以,在我开始真正的问题之前,有人能告诉我为什么这样做有效吗
- (defun c:sk (/ dxf ent)
- (defun dxf (code ent)(cdr (assoc code (entget ent))))
- (if (and (setq ent (car (entsel "\nSelect an Attributed Block: ")))
- (eq "INSERT" (dxf 0 ent))
- (= 1 (dxf 66 ent)))
- (while (not (eq "SEQEND" (dxf 0 (setq ent (entnext ent)))))
- (princ (strcat "\n\nAtt_Tag:" (dxf 2 ent) "\nAtt_Value: " (dxf 1 ent)))))
- (princ))
但这不是
唯一的区别是,在不工作的版本中,第二个defun在第一个defun之外。我以前在主defun的内部看到过这样的代码,但从未真正理解过。 |