rodrigo_sjc_sp 发表于 2022-7-6 07:27:17

放弃重复,而不是功能

我有这样的情况:
 
 
(defun acha\u sub(param\u s)
(重复(sslength selpline)
(重复(sslength selec)
(setq entblk(ssname selec b))
(setq nomeblk(cdr(assoc 8(entget entblk)))
(如果(等式nomeblk pl)
(程序
(setq本地区)
*******我需要在这里休息
)
)
)
 
 
我需要退出(******我需要在这里中断),但不要退出函数
执行返回到第一个重复

Stefan BMR 发表于 2022-7-6 07:43:26

使用while,而不是第二次重复。
    (setq i (sslength selec) end nil)
   (while
   (or (zerop i) end)
   ... ... ...
         (setq end T);;;******* I NEED BROKE HERE
   ... ... ...
   (setq i (1- i))
   );_end while

marko_ribar 发表于 2022-7-6 08:02:59

我相信Stefan的意思是:
 

   (setq i (sslength selec) end T)
   (while (and (> i 0) end)
      ... ... ...
      (setq end nil);;;******* I NEED BROKE HERE
      ... ... ...
      (setq i (1- i))
   );_end while

pBe 发表于 2022-7-6 08:21:34

vl some是另一个需要考虑的函数

Stefan BMR 发表于 2022-7-6 08:31:21

天啊。。。
谢谢你,马尔科。
页: [1]
查看完整版本: 放弃重复,而不是功能