0Pricing
Ansible Academy · Pelajaran

Loop Bersarang dengan subelements

Iterasikan daftar di dalam daftar.

Loop Bersarang dengan subelements adalah pelajaran Ansible Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ansible Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ansible Academy mencakup 4 pelajaran total.

Daftar di Dalam Daftar

Terkadang setiap item memiliki daftarnya sendiri: pengguna dengan beberapa kunci SSH, atau grup dengan banyak anggota. Itu adalah struktur bersarang. 🪆

Pencarian subelements

Pencarian subelements memasangkan setiap induk dengan setiap anak dalam daftar dalamnya, sehingga struktur bersarang diratakan menjadi iterasi tunggal.

loop: "{{ users | subelements('keys') }}"

Dua Argumen

subelements menerima daftar induk dan nama kunci dalam yang akan diperluas. Pencarian ini menghasilkan satu iterasi untuk setiap elemen anak.

vars:
  users:
    - name: alice
      keys:
        - keyA
        - keyB

item Menjadi Sepasang Nilai

Dengan subelements, item adalah daftar yang terdiri dari dua bagian: item.0 adalah kamus induk, sedangkan item.1 adalah nilai anak saat ini.

- ansible.builtin.debug:
    msg: "{{ item.0.name }} has {{ item.1 }}"
  loop: "{{ users | subelements('keys') }}"

Mengotorisasi Banyak Kunci SSH

Contoh utamanya adalah memberikan setiap pengguna semua kunci SSH miliknya. item.0.name adalah pengguna, sedangkan item.1 adalah satu kunci pada setiap iterasi.

- ansible.posix.authorized_key:
    user: "{{ item.0.name }}"
    key: "{{ item.1 }}"
  loop: "{{ users | subelements('keys') }}"

Anak Dapat Berupa Kamus

Elemen dalam juga dapat berupa kamus. Dalam kasus itu, item.1 memiliki propertinya sendiri, seperti item.1.path atau item.1.mode.

Menghitung Iterasi

Tiga pengguna dengan masing-masing dua kunci berarti enam iterasi. subelements secara otomatis mengalikan jumlah induk dengan anak-anaknya.

Lewati Daftar Dalam yang Hilang

Jika sebuah induk mungkin tidak memiliki kunci dalam, tambahkan skip_missing agar subelements mengabaikannya tanpa suara alih-alih gagal.

loop: "{{ users | subelements('keys', skip_missing=true) }}"

Mengapa Tidak Dua loop?

Sebuah tugas tidak dapat langsung menyarangkan dua kata kunci loop. subelements adalah cara yang rapi dan didukung untuk menelusuri struktur induk-anak dalam satu tugas.

Keterbacaan Lebih Baik daripada Kecanggihan

Data yang sangat bersarang dapat sulit diikuti. Jagalah struktur tetap dangkal jika memungkinkan; gunakan subelements ketika Anda benar-benar membutuhkannya.

Tetap Idempoten

Setiap pasangan adalah pemanggilan modul terpisah, sehingga menambahkan kunci yang sudah ada akan melaporkan ok. Struktur bersarang tidak mengubah apa pun terkait menjalankan ulang dengan aman.

Pemeriksaan Singkat

Dengan menggunakan subelements, apa yang dirujuk oleh item.0?

Ringkasan: Perulangan Bersarang

Anda meratakan data induk-anak dengan subelements, menggunakan item.0 dan item.1, serta menangani daftar yang hilang dengan aman. Berikutnya: loop_control. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Loop Bersarang dengan subelements” gratis?

Ya — teks lengkap “Loop Bersarang dengan subelements” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ansible Academy, upgrade ke CoddyKit PRO. Kursus Ansible Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Loop Bersarang dengan subelements”?

Iterasikan daftar di dalam daftar. Kamu berlatih Ansible Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Ansible Academy?

Tidak diperlukan pengalaman sebelumnya. Ansible Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Loop Bersarang dengan subelements” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Ansible Academy ini?

Ya. Setiap pelajaran Ansible Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kata Kunci loop pada Daftar
  2. Melakukan Loop pada Dictionary
  3. Loop Bersarang dengan subelements
  4. loop_control: label, index & pause
← Kembali ke Ansible Academy