Como enviar um sinal para um Applescript em execução

Como enviar um sinal para um Applescript em execução

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

informação relacionada