我正在运行一个脚本,该脚本基本上是循环内循环。我需要某种方式来通知此脚本跳出内循环。
repeat
doxyz
repeat
doSoreWork
if signalPresent then
exit repeat
end if
end repeat
end repeat
我一直在搜索,但 AS 似乎没有这样的功能。我能想到的一个可能方法是使用文件。内循环可以监视它的存在,如果发现则中断循环。这很粗糙,我不喜欢它。有更好的方法吗?
编辑:
我一直在关注Bash 脚本使用信号来打破循环。目前为止它运行得相当好,尽管它仍然很丑陋 :)
答案1
你可以在循环开头使用 while 来测试某个东西是否存在
例如,只要桌面上有一个名为“tester.rtf”的文件,它就会大声计数
set fileTarget to (path to desktop folder as text) & "tester.rtf"
tell application "System Events"
set x to 1
repeat while (exists file fileTarget)
set x to x + 1
say x
end repeat
end tell