Kem Intensif DevOps · Pelajaran

Gelung Bersarang dengan subelements

Ulang kaji senarai yang berada dalam senarai.

Pelajaran 3 daripada 413 langkah

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
        - keyB

item 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. 🎉

Percuma untuk bermula

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

  1. Kata Kunci loop untuk Senarai
  2. Melakukan Gelung pada Kamus
  3. Gelung Bersarang dengan subelements
  4. loop_control: label, index & pause
← Kembali ke Kem Intensif DevOps