Gelung Bersarang dengan subelements
Ulang kaji senarai yang berada dalam senarai.
Gelung Bersarang dengan subelements ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Senarai dalam Senarai
Kadang-kadang setiap item mempunyai senarainya sendiri: pengguna dengan beberapa kunci SSH atau kumpulan dengan ramai ahli. Itulah struktur bersarang. 🪆
Pencarian subelements
Pencarian subelements memadankan setiap induk dengan setiap anak dalam senarai dalamannya, lalu meratakan struktur bersarang itu menjadi lelaran tunggal.
loop: "{{ users | subelements('keys') }}"Dua Argumen
subelements menerima senarai induk dan nama kunci dalaman yang hendak dikembangkan. Ia menghasilkan satu lelaran bagi setiap elemen anak.
vars:
users:
- name: alice
keys:
- keyA
- keyBitem Menjadi Pasangan
Dengan subelements, item ialah senarai dua bahagian: item.0 ialah kamus induk, manakala item.1 ialah nilai anak semasa.
- ansible.builtin.debug:
msg: "{{ item.0.name }} has {{ item.1 }}"
loop: "{{ users | subelements('keys') }}"Benarkan Banyak Kunci SSH
Contoh klasiknya ialah memberikan setiap pengguna semua kunci SSH mereka. item.0.name ialah pengguna, manakala item.1 ialah satu kunci bagi setiap lelaran.
- ansible.posix.authorized_key:
user: "{{ item.0.name }}"
key: "{{ item.1 }}"
loop: "{{ users | subelements('keys') }}"Anak Boleh Menjadi Kamus
Elemen dalaman juga boleh berupa kamus. Dalam keadaan itu, item.1 mempunyai medan tersendiri seperti item.1.path atau item.1.mode.
Mengira Lelaran
Tiga pengguna dengan dua kunci setiap seorang menghasilkan enam lelaran. subelements mendarabkan induk dengan anaknya secara automatik.
Langkau Senarai Dalaman yang Tiada
Jika induk mungkin tidak mempunyai kunci dalaman tersebut, tambahkan skip_missing supaya subelements mengabaikannya secara senyap dan bukannya gagal.
loop: "{{ users | subelements('keys', skip_missing=true) }}"Mengapa Bukan Dua loop?
Sesuatu tugas tidak boleh mengandungi dua kata kunci loop secara terus. subelements ialah cara yang kemas dan disokong untuk melalui struktur induk-anak dalam satu tugas.
Kebolehbacaan Mengatasi Helah Pintar
Data yang bersarang terlalu dalam boleh menjadi sukar difahami. Pastikan struktur anda tidak terlalu dalam apabila boleh; gunakan subelements apabila anda benar-benar memerlukannya.
Masih Idempoten
Setiap pasangan ialah panggilan modul yang berasingan, jadi penambahan kunci yang sudah tersedia melaporkan ok. Struktur bersarang tidak mengubah apa-apa tentang pelaksanaan semula yang selamat.
Semakan Ringkas
Dengan menggunakan subelements, apakah yang dirujuk oleh item.0?
Imbas Kembali: Gelung Bersarang
Anda meratakan data induk-anak dengan subelements, menggunakan item.0 dan item.1, serta mengendalikan senarai yang tiada dengan selamat. Seterusnya: loop_control. 🎉
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Gelung Bersarang dengan subelements” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Gelung Bersarang dengan subelements”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Gelung Bersarang dengan subelements”?
Ulang kaji senarai yang berada dalam senarai. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Gelung Bersarang dengan subelements” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Kata Kunci loop untuk Senarai
- Melakukan Gelung pada Kamus
- Gelung Bersarang dengan subelements
- loop_control: label, index & pause