
基本的にループの中にループがあるスクリプトを実行しています。このスクリプトに内側のループから抜け出すように指示する方法が必要です。
repeat
doxyz
repeat
doSoreWork
if signalPresent then
exit repeat
end if
end repeat
end repeat
検索してみましたが、AS にはそのような機能がないようです。考えられる 1 つの方法は、ファイルを使用することです。内部ループでファイルの存在を監視し、見つかった場合はループを中断できます。これは粗雑で気に入りません。もっと良い方法はないでしょうか。
編集:
私は見てきましたループを中断するためにシグナルを使用する 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