lisp吧 关注:2,682贴子:12,837
  • 1回复贴,共1
求助

command不能循环调用吗?请大佬答疑解惑。

只看楼主收藏回复

先说需求,给车位标注。单个车位标注一个数字;连续的标注“*—*”,例如“4-6”“5-9”。
实现逻辑就是先输入一个开始值,然后循环(输入步进值,标注)。
(defun c:cw()
(setq QS 0)
(setq QS (getint "\n输入开始值:"))
(setq i 0)
(setq BJ 0)
(while (< i 1000)
(setq BJ (getint "\n输入步进值:"))
(cond
((< BJ 2) (setq txt (itoa (+ BJ QS))))
(t (setq txt (strcat (itoa QS) "-" (itoa (- (+ QS BJ) 1)))))
)
(setq QS (+ QS BJ))
(setq i (+ i 1))
(command "ZJWZ" txt)
)
)
附上代码和运行情况。
连续跳出上次输入步进值,一次标注后就报函数错误。


IP属地:河北来自Android客户端1楼2023-08-16 11:56回复
    是可以循环调用command的,可以使用for循环、while循环或者其他形式的循环来实现。例如,通过for循环,可以在一段时间内重复执行某个command;而通过while循环,则可以在满足一定条件时重复执行某个command。此外,也可以使用bash中的函数和子shell来实现command的循环调用。


    IP属地:安徽2楼2023-08-17 22:30
    回复