Sanakirjojen käsittely silmukassa
Luokaa käyttäjiä avain–arvoaineiston perusteella.
Sanakirjojen käsittely silmukassa on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Luettelot eivät riitä
Käyttäjien luomiseen tarvitaan nimen lisäksi ryhmä, komentotulkki ja tila. Litteä luettelo ei pysty sisältämään näitä tietoja. Tarvitsette sanakirjojen luettelon. 🗂️
Sanakirjojen luettelo
Jokaisesta luettelon alkiosta tulee pieni avain–arvo-pareista koostuva sanakirja. Yhdellä silmukan iteraatiolla on tällöin käytettävissään useita nimettyjä kenttiä.
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Avainten käsittely item.key-muodolla
Kun item on sanakirja, lukekaa jokainen kenttä muodossa item.fieldname. Näin item.name ja item.group hakevat arvot nykyisestä alkiosta.
- name: Add users
ansible.builtin.user:
name: "{{ item.name }}"
group: "{{ item.group }}"
loop:
- { name: alice, group: admin }
- { name: bob, group: dev }Selkeämpi monirivinen muoto
Sulut tekevät rivinsisäisestä muodosta ahtaan. Kirjoittakaa jokainen sanakirja usealle riville, jotta luettavuus säilyy, kun alkioissa on paljon avaimia.
loop:
- name: alice
group: admin
shell: /bin/bash
- name: bob
group: dev
shell: /bin/zshNoutakaa luettelo muuttujista
Määritelkää sanakirjojen luettelo muuttujaksi ja silmukoikaa sitten sen yli. Tiedot ovat yhdessä paikassa, ja tehtävä pysyy lyhyenä ja uudelleenkäytettävänä.
vars:
users:
- { name: alice, group: admin }
tasks:
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"Silmukointi oikean sanakirjan yli
Kun käsittelette varsinaista avain–arvo-pareista koostuvaa sanakirjaa, välittäkää se dict2items-suodattimen läpi, jotta jokaisesta parista tulee silmukassa käsiteltävä alkio.
loop: "{{ ports | dict2items }}"item.key ja item.value
dict2items-käsittelyn jälkeen kukin item sisältää kentät item.key ja item.value, jotka vastaavat alkuperäisen määrityksen nimeä ja tietoja.
- ansible.builtin.debug:
msg: "{{ item.key }} = {{ item.value }}"
loop: "{{ settings | dict2items }}"Valinnaiset avaimet eri alkioissa
Kaikissa alkioissa ei tarvitse olla kaikkia avaimia. Yhdistäkää silmukkaan default-suodatin, jotta puuttuville kentille käytetään järkevää oletusarvoa.
shell: "{{ item.shell | default('/bin/sh') }}"Sanakirjat pitävät tiedot järjestyksessä
Kun toisiinsa liittyvät kentät kootaan alkioittain yhteen, tiedot ja logiikka pysyvät erillään. Käyttäjän muokkaaminen tarkoittaa tietojen muokkaamista, ei itse tehtävän muuttamista.
Täysin idempotentti edelleen
Jokainen sanakirjan iteraatio on oma moduulikutsunsa, joten Ansible ilmoittaa jokaiselle käyttäjälle erikseen tilaksi changed tai ok, aivan kuten yksinkertaisilla luetteloilla.
Erinomainen joukkokokoonpanoihin
Käyttäjät, virtuaalipalvelimet ja palomuurisäännöt: kaikki useita määritteitä alkiota kohden sisältävät kokonaisuudet sopivat täydellisesti sanakirjojen luetteloon.
Pikatarkistus
Silmukoitte sanakirjojen luettelon yli. Miten luette kentän?
Kertaus: sanakirjojen silmukointi
Silmukoitte sanakirjojen luetteloiden yli, luitte item.name-kenttiä ja käytitte dict2items-suodatinta oikeille määrityksille. Seuraavaksi käsittelemme sisäkkäisiä silmukoita. 🎉
Opi DevOps-bootcamp 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
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Sanakirjojen käsittely silmukassa” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Sanakirjojen käsittely silmukassa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Sanakirjojen käsittely silmukassa”?
Luokaa käyttäjiä avain–arvoaineiston perusteella. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Sanakirjojen käsittely silmukassa”-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ä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-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