Как отправить сигнал работающему Applescript

Как отправить сигнал работающему Applescript

Я запускаю скрипт, который по сути имеет цикл внутри цикла. Мне нужен какой-то способ дать сигнал этому скрипту выйти из внутреннего цикла.

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

Связанный контент