loop_control: label, index och pause
Tämj loop-utdata och beteende
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_itemHå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: idxAnvä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: idxSakta 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: 3Visa 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: trueHjä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.lastKombinera 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: 1Styrning, 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. 🎉
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
- Nyckelordet loop över en lista
- Iterera över dictionaries
- Nästlade loopar med subelements
- loop_control: label, index och pause