流れを繰り返す(ループ)

記事作成日:2021/02/27

処理を繰り返したいとき。

同じ処理を 一定回数 実行させたいときに使えるブロック。
それが、 for_eachFor each ブロックです!

For eachブロックについて

この for_eachブロックは、配列や辞書、テキストや数値に基づいて、条件が満たされるまで、もしくは、コンテナ(変数)の最後まで読み終わるまで、ループします。

先にサンプルを見てみます

この画像は今回作るものです。
このフローを実行すると、ログに 顔文字 が3つ 表示されます。

Log

見たことないブロック logLog がありますが、これは結果を表示するブロックです。
動作確認の時に非常に役に立つブロックです。

流れを作る

基本的に手順をまねをしていけば、失敗することはありません。

-- 1 --
まず、 for_eachを使うので、ブロックを出します。検索を使った方がいちいち探さなくても一発で見つかるのでお勧めです。
-- 2 --
そうしたら for_each と 始まりのブロック( flow_beginning) を繋げてやります。
-- 3 --
次に、 logLog append ブロックを出します。
そして、 for_eachlogを画像のように繋げます。

logは、顔文字 をログに表示するために必要なものです!。
-- 4 --
ここから各ブロックの設定に入っていきます。

まず先に、表示したい顔文字(テキスト)を設定するために、 logLog ブロック の設定をします。
Messsageにログに表示したいテキストを入力します。そしてすかさず保存(SAVE)。
-- 5 --
次は、ループする回数を決めるために、 for_eachの設定をします。

今回は 3回 ループさせるので、 container3と入力しました。
保存(SAVE)をお忘れなく。
-- 6 --
もうこれで完成です。
編集画面から戻って、フローを実行してみましょう。

自分の入力した文字が 指定した回数分、表示されればOKです。

次回の 'For each' は

今回は、単純に回数を指定して、ループ数を制御していましたが、次回は、配列で挑戦していきます。
このブロックはとても便利なものですから、覚えておくと便利になります。

for_each
おそらく、なぜ [IN] から始まり、[DO] に流れて、[IN] に戻って、最後に [OK] に流れるのか、疑問に思っているはずです。

for_eachは最初、[IN] から開始して、繰り返し が終了するまで、[DO] に流れて、また [IN] に 再帰する必要があります (そうしないと、繰り返す ことができない)。繰り返しが完了することで、[DO] には 流れずに [OK] のパスに流れて、ループから 抜けるようになっています。
インデックスに戻る
Automate 覚書のホームに戻る
このサイトのホームに戻る