loop-avainsana luettelon käsittelyssä
Asentakaa useita paketteja yhdessä tehtävässä.
loop-avainsana luettelon käsittelyssä on ilmainen Ansible Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Ansible Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ansible Academy-kurssilla on yhteensä 4 oppituntia.
Lopettakaa tehtävien kopiointi
Tarvitsetteko kolme pakettia asennettavaksi? Kolmen lähes samanlaisen tehtävän kirjoittaminen on työlästä ja altista virheille. loop-avainsanalla yksi tehtävä voidaan toistaa luettelon yli. 🔁
Mitä loop tekee
Lisätkää tehtävään loop ja antakaa sille luettelo. Ansible suorittaa tehtävän kerran jokaista alkiota kohden ja sijoittaa kunkin arvon moduulin argumentteihin.
Tutustukaa item-muuttujaan
Silmukoivassa tehtävässä luettelon nykyinen arvo on käytettävissä muodossa item. Viittaatte siihen merkinnällä {{ item }} kaikkialla, missä arvoa tarvitaan.
- name: Show each fruit
ansible.builtin.debug:
msg: "{{ item }}"
loop:
- apple
- banana
- cherryUseiden pakettien asentaminen
Tyypillinen käyttötapaus on asentaa kokonainen pakettien luettelo yhdellä tehtävällä. Jokainen nimi välitetään pakettimoduulille item-muuttujan kautta.
- name: Install tools
ansible.builtin.package:
name: "{{ item }}"
state: present
loop:
- git
- curl
- vimSilmukointi muuttujassa olevan luettelon yli
Luettelon ei tarvitse olla kirjoitettuna suoraan tehtävään. Osoittakaa loop muuttujaan, jolloin sama tehtävä mukautuu muualla määrittelemiinne arvoihin.
vars:
packages:
- git
- curl
tasks:
- name: Install
ansible.builtin.package:
name: "{{ item }}"
loop: "{{ packages }}"loop ja with_items
Voitte nähdä vanhemmissa playbookeissa käytettävän with_items-rakennetta. Se toimii edelleen, mutta loop on nykyaikainen ja suositeltu muoto yksinkertaisille luetteloille.
Yksi tehtävä, monta tulosta
Silmukka suorittaa tehtävän kerran jokaista alkiota kohden, joten tulosteessa näkyy yksi tulorivi jokaista iteraatiota kohden. Näette tarkalleen, mitkä arvot muuttuivat.
Silmukat säilyvät idempotentteina
Silmukointi ei riko idempotenttiutta. Jos paketti on jo asennettu, kyseinen iteraatio ilmoittaa tilaksi ok; vain uudet paketit ilmoittavat tilaksi changed.
Monet paketinhallintaohjelmat käsittelevät eräajoja
Jotkin moduulit hyväksyvät luettelon suoraan, mikä on vielä nopeampaa. loop on kuitenkin yleiskäyttöinen toimintamalli, joka toimii lähes kaikkien moduulien kanssa.
Silmukointi myös numeroiden yli
Luettelot eivät sisällä vain merkkijonoja. Voitte silmukoida numeroiden tai minkä tahansa tietotyypin yli, ja item sisältää luettelon kulloinkin sisältämän arvon.
- name: Print ports
ansible.builtin.debug:
msg: "Port {{ item }}"
loop:
- 80
- 443
- 8080Tyhjät luettelot ovat turvallisia
Jos luettelo on tyhjä, tehtävä suoritetaan yksinkertaisesti nolla kertaa. Virheitä tai haittoja ei synny. Mahdollisesti tyhjän muuttujan yli silmukointi on täysin turvallista.
Pikatarkistus
Miten silmukoivassa tehtävässä viitataan luettelon nykyiseen arvoon?
Kertaus: voitte silmukoida
Korvasitte toistuvat tehtävät yhdellä loop-rakenteella, käsittelitte jokaisen arvon item-muuttujan kautta ja säilytitte kaiken idempotenttina. Seuraavaksi käsittelemme sanakirjojen yli silmukointia. 🎉
Opi YAML tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”loop-avainsana luettelon käsittelyssä” ilmainen?
Kyllä – oppitunnin ”loop-avainsana luettelon käsittelyssä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Ansible Academy-kurssin, päivitä CoddyKit PROhon. Ansible Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”loop-avainsana luettelon käsittelyssä”?
Asentakaa useita paketteja yhdessä tehtävässä. Harjoittelet Ansible Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Ansible Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Ansible Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”loop-avainsana luettelon käsittelyssä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Ansible Academy-oppitunnilla?
Kyllä. Jokainen Ansible Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- loop-avainsana luettelon käsittelyssä
- Sanakirjojen käsittely silmukassa
- Sisäkkäiset silmukat subelements-komennolla
- loop_control: label, index ja pause