我正在寻找一种较短的方法来写我的Lisp程序下面的“不是”部分。
我有10个“not”语句排成一行,我一生似乎都无法在谷歌上键入正确的搜索词来获得我想要的答案。
保持宏的相同逻辑,你们这些经验丰富的程序员如何编写宏的“not”部分?
谢谢你的帮助
- (defun C:test ()
- (vl-load-com)
- (setq
- acadObject (vlax-get-acad-object)
- acadActiveDocument (vla-get-ActiveDocument acadObject)
- acadLayers (vla-get-Layers acadActiveDocument)
- )
- (vlax-for Layer acadLayers
- (if
- (progn
- (not (eq (vla-get-PlotStyleName Layer) "As Drawn"))
- (not (eq (vla-get-PlotStyleName Layer) "10% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "20% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "30% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "40% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "50% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "60% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "70% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "80% Screen"))
- (not (eq (vla-get-PlotStyleName Layer) "90% Screen"))
- )
- (vla-put-PlotStyleName Layer "As Drawn")
- )
- )
- (princ)
- )
|