iPhoneまたはiPadの「ショートカット」で「繰り返す」アクションを使用する
「繰り返す」アクションと「各項目を繰り返す」アクションを使って、ショートカット内でアクションのグループを複数回連続して実行できます。
「繰り返す」アクションを使用する
ショートカットに「繰り返す」アクションを追加すると、「繰り返す」と「繰り返しの終了」の2つのマーカーが追加されます。繰り返したいアクションを「繰り返し」マーカーと「繰り返しの終了」マーカーの間に配置してから、アクションを繰り返したい回数を指定します。ショートカットを実行すると、マーカーの間に配置されたアクションは指定した回数ループします。
例えば、「3回繰り返し」に設定された「デバイスを振動させる」アクションが含まれる繰り返しループでは、ショートカットを実行するとiOSデバイスが3回振動します。
繰り返しループ内に配置できるアクション数に制限はありません。アクションは順番に(上から下へ)実行され、最後のアクションに到達すると、ショートカットは最初のアクションに戻って(指定された回数だけ)再度実行されます。
ヒント: 「繰り返す」アクションを入れ子にすることもできます。ショートカットエディタで、2つ目の「繰り返す」アクションを1つ目の「繰り返す」アクション内の下部にドラッグします。2つ目の「繰り返す」アクションが1つ目の「繰り返す」アクションに入れ子になってインデントされた状態になります。
「繰り返す」アクションのデータの流れについて
繰り返しループが反復するごとに、最後のアクションの出力がリストへと収集され、そのリストが「繰り返す」アクション全体の出力になります。
例えば、4回実行する「繰り返す」アクションに「最新の写真を取得」アクションが含まれる場合は、ループの反復ごとに「写真」に保存されている最新の写真を出力します。4回の反復をすべて実行すると、出力が収集されて、同一の写真4つからなるリストが作成されます。4つの写真は「繰り返す」アクション全体の出力になり、繰り返しループ後の次のアクションに渡されます。
入力と出力の流れについて詳しくは、iPhoneおよびiPadでのショートカットの仕組みの概要を参照してください。
「各項目を繰り返す」アクションを使用する
「各項目を繰り返す」アクションは、項目のリストを入力として受け取り、リスト内の項目ごとに同じアクションのグループを1回実行します。これは、複数のファイルや複数のコンテンツを操作している場合に便利です。この種類のループは、「各項目を繰り返す」アクションに渡されたすべての項目が反復するまで繰り返されます。
例えば、「もうすぐ行われるイベントを取得」アクションが次の4個のもうすぐ行われるカレンダーイベントを取得するように設定されていて、そのアクションの後に「各項目を繰り返す」アクションを配置した場合、繰り返しループは4回実行され、反復ごとにいずれかのカレンダーイベントを入力として受け取ります。
ショートカットに「各項目を繰り返す」アクションを追加すると、「各項目を繰り返す」と「繰り返しの終了」という、2つのマーカーがアクションに含まれます。
繰り返しループの最後に、反復ごとに「繰り返しの終了」マーカーに渡された出力が収集され、「各項目を繰り返す」アクション全体の出力として渡されます。
「繰り返し項目」変数
「各項目を繰り返す」アクションには、現在の項目を追跡する特殊変数「繰り返し項目」が用意されています。「繰り返し項目」変数はループの反復ごとにアップデートされ、その反復における入力として渡された項目が含まれます。
例えば、10個のカレンダー項目を「各項目を繰り返す」アクションに渡した場合、ショートカットがカレンダー項目ごとにループする反復ごとに、「繰り返し項目」変数はいずれかのカレンダーイベントを表します。
注記: 「各項目を繰り返す」アクションを別の「各項目を繰り返す」アクション内に配置した場合、この変数の名前は「繰り返し項目1」に変更され、内側の繰り返し項目を表します。さらに深いループの場合は「繰り返し項目2」になります。
「繰り返しインデックス」変数
すべての繰り返しループには「繰り返しインデックス」と呼ばれる特殊変数があり、ループの現在の反復を追跡するために使用されます。「繰り返しインデックス」変数にはループがこれまでに繰り返された回数が含まれます。ループの最初の反復を表す1で始まり、反復ごとに1増分します。2回目のループ実行では、「繰り返しインデックス」は2になります。3回目のループ実行では、「繰り返しインデックス」は3になり、以降同様に続きます。
注記: 「繰り返す」アクション内に別の「繰り返す」アクションを配置した(繰り返しループが入れ子になっている)場合は、内側の「繰り返す」アクションの変数名が「繰り返しインデックス2」に変わります。入れ子の「繰り返す」アクションがさらに追加されると、「繰り返しインデックス3」変数になります。
詳しくは、iPhoneまたはiPadの「ショートカット」で変数を使用するを参照してください。
無限ループを作成する
「ショートカット」にはアクションのグループを永遠に繰り返すアクションは用意されていませんが、「ショートカットを実行」アクションを使用することでこの動作をエミュレートできます。「ショートカットを実行」アクションを使用すると、ショートカット内で別のショーカットを実行できます。「ショートカットを実行」アクションで内包されている同じショートカットを実行するように構成すると、ショートカットは停止するまで最初から最後まで繰り返し実行されます。
出力をテストする
「繰り返す」および「各項目を繰り返す」の使い方を学習するときは、「繰り返しの終了」マーカーの後に生成される結果をテストして、意図通りのコンテンツになることを確認することをおすすめします。繰り返しループで出力される項目をプレビューするには、「繰り返しの終了」マーカーの後に「クイックルック」アクションを配置します。
また、「繰り返しの終了」マーカーの後に「アラートを表示」アクションを配置し、そのメッセージボックスに「繰り返しの結果」マジック変数を挿入すると、ループによって出力されたテキストを表示できます。長いショートカットの途中にあるループをテストする場合は、「アラートを表示」アクションを使用して結果をプレビューすることをおすすめします。アラート内に「キャンセル」ボタンを含めると、ループのそのポイントでショートカットを終了できます。