
Estou executando um script que basicamente possui um loop dentro de um loop. Preciso de alguma forma de sinalizar para esse script sair do loop interno.
repeat
doxyz
repeat
doSoreWork
if signalPresent then
exit repeat
end if
end repeat
end repeat
Estive pesquisando, mas o AS não parece ter esse recurso. Uma maneira possível de pensar é usar um arquivo. O loop interno pode monitorar sua existência e, se encontrado, interromper o loop. É grosseiro e não gosto disso. Existe uma maneira melhor?
EDITAR:
Eu estive olhandoBash Scripts usando sinais para quebrar os loops. Até agora funciona bastante bem, embora ainda seja feio :)
Responder1
Você pode testar a existência de algo no início do loop, usando while
por exemplo, isso será contado em voz alta, desde que haja um arquivo na área de trabalho chamado '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