繰り返し処理

繰り返し処理

はじめに

AppleScriptは、macOSでの自動化やアプリケーション操作を簡単に実現するスクリプト言語です。繰り返し処理は、特定の処理を複数回実行したいときに非常に便利です。この記事では、AppleScriptで使用される繰り返し処理の基本的な使い方について詳しく解説します。繰り返し処理を活用することで、より効率的なスクリプトを作成できるようになります。

繰り返し処理とは

繰り返し処理とは、特定の処理を指定された回数や条件に基づいて繰り返し実行するための構造です。AppleScriptでは、主に以下の2つの繰り返し処理が利用されます。

  1. repeat
  2. repeat with

それぞれの繰り返し処理について詳しく見ていきましょう。

repeat文

repeat文の基本

repeat文は、条件が満たされるまで、または指定された回数だけ処理を繰り返します。

repeat文の構造


repeat
    -- 繰り返し実行される処理
end repeat
    

repeat文の例


set counter to 0

repeat
    set counter to counter + 1
    display dialog "Counter: " & counter
    if counter = 5 then
        exit repeat
    end if
end repeat
    

スクリプトの説明

  • set counter to 0: カウンタ変数counterを初期化します。
  • repeat ... end repeat: 繰り返し処理を開始します。
  • set counter to counter + 1: counterを1増やします。
  • display dialog "Counter: " & counter: counterの現在の値をダイアログボックスで表示します。
  • if counter = 5 then exit repeat: counterが5になったら、繰り返しを終了します。

repeat with文

repeat with文の基本

repeat with文は、特定の範囲内の数値やリストの要素を使って処理を繰り返します。

repeat with文の構造


repeat with 変数 from 開始値 to 終了値
    -- 繰り返し実行される処理
end repeat
    

repeat with文の例


repeat with i from 1 to 5
    display dialog "Iteration: " & i
end repeat
    

スクリプトの説明

  • repeat with i from 1 to 5: 変数iを1から5まで順に増加させながら繰り返し処理を行います。
  • display dialog "Iteration: " & i: 現在の反復回数をダイアログボックスで表示します。

リストを使った繰り返し処理

リスト内の要素を順に処理するためには、repeat with文を使用します。

リストを使った繰り返しの例


set fruitList to {"Apple", "Banana", "Cherry"}

repeat with fruit in fruitList
    display dialog "Fruit: " & fruit
end repeat
    

スクリプトの説明

  • set fruitList to {"Apple", "Banana", "Cherry"}: fruitListというリストを作成します。
  • repeat with fruit in fruitList: リストfruitList内の各要素をfruitとして順に処理します。
  • display dialog "Fruit: " & fruit: 現在の要素fruitをダイアログボックスで表示します。

繰り返し処理の制御

繰り返しの中断

繰り返し処理を途中で中断するためには、exit repeatを使用します。

繰り返しの中断例


repeat with i from 1 to 10
    if i > 5 then
        exit repeat
    end if
    display dialog "Number: " & i
end repeat
    

スクリプトの説明

  • if i > 5 then exit repeat: 変数iが5を超えた場合に、繰り返し処理を中断します。
  • display dialog "Number: " & i: 5までの数値をダイアログボックスで表示します。

次の反復へのスキップ

AppleScriptには直接continueに相当する命令はありませんが、条件を使用して次の反復をスキップすることができます。

次の反復へのスキップ例


repeat with i from 1 to 5
    if i = 3 then
        -- 次の反復をスキップ
        display dialog "Skipping iteration " & i
    else
        display dialog "Value: " & i
    end if
end repeat
    

スクリプトの説明

  • if i = 3 then ... else: 変数iが3の場合に、その反復をスキップするメッセージを表示し、それ以外の数値をダイアログボックスで表示します。
  • 次の反復へのスキップ: continueに相当する処理を実現するためにelseを使用して次の反復を続行します。

繰り返しのネスト

AppleScriptでは、繰り返し処理をネスト(入れ子)にすることができます。これにより、複数のレベルで処理を繰り返すことが可能です。

繰り返しのネスト例


repeat with i from 1 to 3
    repeat with j from 1 to 2
        display dialog "Outer loop: " & i & ", Inner loop: " & j
    end repeat
end repeat
    

スクリプトの説明

  • repeat with i from 1 to 3: 外側のループを1から3まで繰り返します。
  • repeat with j from 1 to 2: 内側のループを1から2まで繰り返します。
  • display dialog "Outer loop: " & i & ", Inner loop: " & j: 外側と内側のループのカウンタをダイアログボックスで表示します。

まとめ

この記事では、AppleScriptにおける繰り返し処理の使い方について詳しく解説しました。繰り返し処理を活用することで、同じ操作を効率的に行い、コードの冗長性を減らすことができます。repeat文、repeat with文、繰り返しの制御(中断とスキップ)、繰り返しのネストをマスターすることで、AppleScriptでより複雑なスクリプトを作成することができます。次回の記事では、AppleScriptにおけるエラーハンドリングについてさらに詳しく解説しますので、お楽しみに!

上部へスクロール