0Pricing
Ansible Academy · Ders

subelements ile İç İçe Döngüler

Listelerin içindeki listeler üzerinde yineleme yapın.

subelements ile İç İçe Döngüler, CoddyKit'te ücretsiz bir Ansible Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ansible Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ansible Academy kursu toplamda 4 dersten oluşur.

Listelerin İçinde Listeler

Bazen her item kendi listesine sahip olur: birkaç SSH anahtarına sahip bir kullanıcı veya birçok üyesi olan bir grup gibi. Bu, iç içe bir yapıdır. 🪆

subelements Araması

subelements araması, her üst öğeyi iç listesindeki her alt öğeyle eşleştirerek iç içe yapıyı tekil yinelemelere düzleştirir.

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

İki Bağımsız Değişken

subelements, üst öğe listesini ve genişletilecek iç anahtarın adını alır. Her alt öğe için bir yineleme üretir.

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

item Bir Çifte Dönüşür

subelements ile item, iki parçalı bir listedir: item.0 üst öğe sözlüğüdür; item.1 ise geçerli alt öğe değeridir.

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

Birçok SSH Anahtarına Yetki Verme

Klasik örnek: her kullanıcıya kendi SSH anahtarlarının tümünü verme. item.0.name kullanıcıyı, item.1 ise her yinelemede tek bir anahtarı belirtir.

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

Alt Öğe Sözlük Olabilir

İç öğeler de sözlük olabilir. Bu durumda item.1 kendi alanlarına sahip olur; örneğin item.1.path veya item.1.mode.

Yinelemeleri Sayma

Her birinde iki anahtar bulunan üç kullanıcı, altı yineleme anlamına gelir. subelements, üst öğe sayısını alt öğe sayısıyla otomatik olarak çarpar.

Eksik İç Listeleri Atlayın

Bir üst öğede iç anahtar bulunmayabilirse, subelements'ın hata vermek yerine bunu sessizce yok sayması için skip_missing ekleyin.

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

Neden İki loop Kullanılmıyor?

Bir görev iki loop anahtar sözcüğünü doğrudan iç içe kullanamaz. subelements, üst öğe-alt öğe yapısında tek bir görev içinde gezinmenin temiz ve desteklenen yoludur.

Akıllı Olmaktan Önce Okunaklı Olun

Derin iç içe verilerin izlenmesi zorlaşabilir. Yapabildiğiniz zaman yapılarınızı sığ tutun; gerçekten gerektiğinde subelements kullanın.

Hâlâ İdempotent

Her çift ayrı bir modül çağrısıdır; bu nedenle zaten mevcut olan bir anahtarın eklenmesi ok bildirir. İç içe yapı, güvenli yeniden çalıştırmalarla ilgili hiçbir şeyi değiştirmez.

Hızlı Kontrol

subelements kullanırken item.0 neyi belirtir?

Özet: İç İçe Döngüler

Üst öğe-alt öğe verilerini subelements ile düzleştirdiniz, item.0 ve item.1 kullandınız ve eksik listeleri güvenli biçimde ele aldınız. Sırada loop_control var. 🎉

Sıkça Sorulan Sorular

“subelements ile İç İçe Döngüler” dersi ücretsiz mi?

Evet — “subelements ile İç İçe Döngüler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ansible Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ansible Academy kursu toplamda 4 dersten oluşur.

“subelements ile İç İçe Döngüler” dersinde ne öğreneceğim?

Listelerin içindeki listeler üzerinde yineleme yapın. Ansible Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Ansible Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ansible Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“subelements ile İç İçe Döngüler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Ansible Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ansible Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Bir Liste Üzerinde loop Anahtar Sözcüğü
  2. Sözlükler Üzerinde Döngü
  3. subelements ile İç İçe Döngüler
  4. loop_control: label, index ve pause
← Ansible Academy Sayfasına Dön