Kun meidän on suoritettava silmukka vähintään kerran, käytämme PowerShellissä Do-while-silmukkaa.
Do-While-silmukka on silmukkarakenne, jossa ehto arvioidaan lausekkeiden suorittamisen jälkeen. Tämä silmukka tunnetaan myös nimellä exit-controlled loop.
Do-while-silmukka on sama kuin while-silmukka, mutta do-while-silmukassa ehto tarkistetaan aina lohkon lausekkeiden suorittamisen jälkeen.
Do-avainsanaa käytetään myös ’Until’-avainsanan kanssa skriptilohkon lausekkeiden suorittamiseen. Do-while-silmukan tavoin myös Do-until-silmukka suoritetaan vähintään kerran ennen ehdon arviointia. Do-Until-silmukka suorittaa koodilohkon lausekkeet, kunnes ehto on epätosi. Kun ehto on tosi, silmukka päättyy.
Do-while- tai Do-until-silmukassa voidaan käyttää virtauksenohjauksen avainsanoja, kuten Break ja Continue.
Syntaksi
Seuraavassa lohkossa esitetään Do-while-silmukan syntaksi:
Seuraavassa lohkossa esitetään Do-until-silmukan syntaksi:
Do-While-silmukan vuokaavio
Do-Until-silmukan vuokaavio
Esimerkkejä
Seuraavissa esimerkeissä kuvataan Do-while- ja Do-until-silmukoiden käyttöä PowerShellissä:
Esimerkki1: Tässä esimerkissä tulostetaan kokonaisluvun arvot 1-10.
Tulos:
12345678910
Esimerkki2: Tässä esimerkissä tulostamme joukon arvot Do until -silmukan avulla.
Tulostus:
1234567
Esimerkki3: Tässä esimerkissä tulostamme 5:n taulukon käyttämällä Do-while-silmukkaa.
Tulostus:
5 * 1 = 55 * 2 = 105 * 3 = 155 * 4 = 205 * 5 = 255 * 6 = 305 * 7 = 355 * 8 = 405 * 9 = 455 * 10 = 50
Esimerkissä olemme tulostaneet 5:n kertotaulukon Do-while-silmukkaa käyttäen. Ensin olemme luoneet ja alustaneet muuttujat $table ja $i arvoilla 5 ja 1. Sitten olemme kirjoittaneet do-while-silmukan.
Silmukassa meillä on echo-komento, joka tulostaa tuloksen $res, joka tallentaa kertolaskun $table * $i.
Joka kerta muuttujan $i arvoa kasvatetaan 1:llä ja ehto tarkistetaan. Kun muuttujan $i arvoksi tulee 11, ehto muuttuu vääräksi ja silmukka lopetetaan.