nextコマンド in AppleScript

 repeatにはいろんなやり方がありますが、AppleScriptでちょっと困ったのは、repeat中にある条件では何か処理をし、その条件を満たさなければ処理をせずに次のrepeatに移りたい場合です。

AppleScript

AppleScript

 Perlなら次のループに移るnextがありますが、AppleScriptにはないみたいなんです。あるのはrepeat構造から抜け出してしまうlastに相当するexit repeatだけのようです。

 まぁ、フラグを使って制御する方法を使えば、nextの代わりになるでしょう。
こんな感じで…

set nextFlag to 0 --フラグを初期化
repeat
  if 次のループに移る条件 then
    set nextFlag to 1--次のループに移りたい時はフラグをたてる
  end if

  if nextFlag = 0 then --処理をする
    --ここにrepeat処理したい内容を書く
  else --next条件発動で、処理を飛ばす
    set nextFlag to 0 --次のループに備えてフラグをオフにする
  end if
end repeat

 変数nextFlagは、Boolean型にして、true/falseで指定するのもアリ。

こちらの記事もあわせてどうぞ:

| カテゴリ:AppleScript |