Loop Bersarang dengan subelements
Iterasikan daftar di dalam daftar.
Loop Bersarang dengan subelements adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp 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
- keyBitem 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 DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Loop Bersarang dengan subelements”?
Iterasikan daftar di dalam daftar. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- Kata Kunci loop pada Daftar
- Melakukan Loop pada Dictionary
- Loop Bersarang dengan subelements
- loop_control: label, index & pause