0Pricing
DevOps Bootcamp · レッスン

loop_control:label、index、pause

ループの出力と動作を制御します。

「loop_control:label、index、pause」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

ループの出力は煩雑になりやすい

itemが大きなディクショナリの場合、出力には毎回その全体が表示されます。loop_controlキーワードを使えば、この煩雑さを抑えられます。🧹

loop_controlを追加する

同じタスク内で、loopの隣にloop_controlを記述します。ここに、ループの動作や結果の表示方法を変更するオプションを指定します。

- ansible.builtin.user:
    name: "{{ item.name }}"
  loop: "{{ users }}"
  loop_control:
    label: "{{ item.name }}"

labelで出力を整理する

labelオプションで、各イテレーションに表示する内容を設定します。ディクショナリ全体ではなくitem.nameだけを表示すれば、実行結果が読みやすくなります。

ループ変数の名前を変更する

ネストしたループでどちらもitemを使うと衝突します。loop_varオプションで変数名を変更すれば、外側と内側のループを区別できます。

loop_control:
  loop_var: user_item

index_varで位置を追跡する

現在の位置が必要ですか?index_varを使うと、出力したり条件で使ったりできる0始まりのカウンターを利用できます。

loop_control:
  index_var: idx

インデックスを使う

index_varは通常の変数と同じように参照します。項目に番号を付けたり、最初のイテレーションだけで処理したりする場合に便利です。

- ansible.builtin.debug:
    msg: "{{ idx }}: {{ item }}"
  loop: "{{ servers }}"
  loop_control:
    index_var: idx

pauseで速度を落とす

pauseオプションを使うと、イテレーションの間に指定した秒数だけ待機します。APIやレート制限のあるサービスに大量のリクエストを送る場合に便利です。

loop_control:
  pause: 3

extendedで進捗を表示する

extendedをtrueに設定すると、Ansibleはansible_loop.indexやansible_loop.lengthなどのループ情報を追加し、より詳しい進捗データを提供します。

loop_control:
  extended: true

ansible_loopのヘルパー

extendedを有効にすると、ansible_loopからfirst、last、index、revindexを利用できるため、ループの開始や終了を簡単に検出できます。

when: ansible_loop.last

複数のオプションを組み合わせる

1つのloop_controlの下に、カスタムラベル、index_var、pauseなどのオプションをまとめて指定できます。

loop_control:
  label: "{{ item.name }}"
  index_var: idx
  pause: 1

制御であってロジックではない

loop_controlは出力や実行間隔を整えるもので、データ自体を変更するものではありません。処理内容を変えずに、大きなループを読みやすく予測可能にします。

クイックチェック

各イテレーションに表示する内容を制御するloop_controlのオプションはどれですか?

振り返り:ループを制御する

loop_controlを使って、見やすいラベル、インデックスの追跡、待機、extended情報を設定しました。これで、どのようなデータ構造でも自在にループできます。🎉

よくある質問

「loop_control:label、index、pause」レッスンは無料ですか?

はい。「loop_control:label、index、pause」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「loop_control:label、index、pause」で何を学びますか?

ループの出力と動作を制御します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「loop_control:label、index、pause」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. リストに対する loop キーワード
  2. 辞書のループ処理
  3. subelements によるネストしたループ
  4. loop_control:label、index、pause
← DevOps Bootcampに戻る