DevOps-bootcamp · Lektion

loop_control: label, index och pause

Tämj loop-utdata och beteende

Lektion 4 av 413 steg

loop_control: label, index och pause är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Loopar kan bli röriga

När item är en stor dictionary skriver resultatet ut hela dictionaryn i varje iteration. Nyckelordet loop_control gör röran hanterbar. 🧹

Lägg till loop_control

Placera loop_control bredvid loop i samma task. Där finns alternativ som ändrar hur loopen fungerar och hur resultatet rapporteras.

- ansible.builtin.user:
    name: "{{ item.name }}"
  loop: "{{ users }}"
  loop_control:
    label: "{{ item.name }}"

label rensar resultatet

Alternativet label bestämmer vad som skrivs ut för varje iteration. Visa bara item.name i stället för hela dictionaryn för mer lättlästa körningar.

Byt namn på loopvariabeln

Nästlade loopar som båda använder item krockar. Alternativet loop_var byter namn på variabeln, så att en yttre och en inre loop förblir åtskilda.

loop_control:
  loop_var: user_item

Håll koll på positionen med index_var

Behöver Ni den aktuella positionen? index_var ger tillgång till en nollbaserad räknare som Ni kan skriva ut eller använda i villkor.

loop_control:
  index_var: idx

Använda indexet

Referera till index_var som till vilken variabel som helst. Det är praktiskt när Ni vill numrera objekt eller bara agera under den första iterationen.

- ansible.builtin.debug:
    msg: "{{ idx }}: {{ item }}"
  loop: "{{ servers }}"
  loop_control:
    index_var: idx

Sakta ner med pause

Alternativet pause väntar ett angivet antal sekunder mellan iterationerna, vilket är praktiskt när Ni skickar många anrop till ett API eller en hastighetsbegränsad tjänst.

loop_control:
  pause: 3

Visa förloppet med extended

Ställ in extended på true, så lägger Ansible till loopinformation som ansible_loop.index och ansible_loop.length för mer detaljerad förloppsinformation.

loop_control:
  extended: true

Hjälpvariabler i ansible_loop

När extended är aktiverat erbjuder ansible_loop first, last, index och revindex, så att Ni enkelt kan upptäcka loopens början eller slut.

when: ansible_loop.last

Kombinera flera alternativ

Ni kan kombinera alternativ under en enda loop_control: en anpassad etikett, en index_var och en pause kan samexistera i samma block.

loop_control:
  label: "{{ item.name }}"
  index_var: idx
  pause: 1

Styrning, inte logik

loop_control påverkar resultatets utformning och tempot, inte själva datan. Det gör stora loopar lättlästa och förutsägbara utan att ändra vad de gör.

Snabbtest

Vilket alternativ i loop_control styr vad som skrivs ut för varje iteration?

Sammanfattning: tämjda loopar

Ni använde loop_control för tydliga etiketter, indexspårning, pauser och utökad information. Nu kan Ni loopa som ett proffs över alla slags datastrukturer. 🎉

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”loop_control: label, index och pause” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”loop_control: label, index och pause”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”loop_control: label, index och pause”?

Tämj loop-utdata och beteende Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”loop_control: label, index och pause”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Nyckelordet loop över en lista
  2. Iterera över dictionaries
  3. Nästlade loopar med subelements
  4. loop_control: label, index och pause
← Tillbaka till DevOps-bootcamp