cwake 发表于 2022-7-6 00:07:46

我想这取决于你真正测试的目的。如果任何(并非所有)层都不存在,Mircea的方法将返回true;只有当所有层都存在时,Mircea的方法才返回nil。也许这就是你测试的目的?
如果重要的是不存在任何层,那么您可以像在原始代码发布中那样对其进行测试,或者如果您真的想要获得想象力,您可以使用以下内容:
 

(not (vl-some
      (function
      (lambda ( x )
          (tblsearch "LAYER" x)
          )
      )
      '("FORMAT" "OBJECT_LINE" "PHANTOM")
      )
    )

cwake 发表于 2022-7-6 00:16:04

另一种方式
(apply
'and
(mapcar
   (function
   (lambda ( x )
       (not (tblsearch "LAYER" x))
       )
   )
   '("FORMAT" "OBJECT_LINE" "PHANTOM")
   )
)

shailujp 发表于 2022-7-6 00:21:31

 
是的,没有应该存在,否则我的以下代码将失败,因为我试图重命名现有层或创建新层。
 
我想现在我有多种选择。然而,我确实想提及的是,由于我的第一个代码对于我的级别来说足够简单,并且符合目的(至少目前是这样),所以我不会把它复杂化。但这是一次很好的学习。
 
谢谢你们的时间和努力。
页: 1 [2]
查看完整版本: 两者的区别是什么