Ha egy hurkot legalább egyszer le kell futtatnunk, akkor a PowerShellben a Do-while loopot használjuk.
A Do-While loop egy olyan ciklusszerkezet, amelyben az utasítások végrehajtása után egy feltétel kiértékelésre kerül. Ezt a hurkot kilépésvezérelt huroknak is nevezik.
A do-while ciklus ugyanaz, mint a while ciklus, de a do-while ciklusban a feltétel mindig a blokkban lévő utasítások végrehajtása után kerül ellenőrzésre.
A Do kulcsszó a ‘Until’ kulcsszóval együtt is használható a szkriptblokkban lévő utasítások futtatására. A Do-while ciklushoz hasonlóan a Do-until ciklus is legalább egyszer végrehajtódik a feltétel kiértékelése előtt. A Do-Until ciklus addig hajtja végre a kódblokkban lévő utasításait, amíg a feltétel hamis nem lesz. Ha a feltétel igaz, a ciklus befejeződik.
A Do-while vagy Do-until ciklusban használhatjuk az olyan folyamatirányítási kulcsszavakat, mint a Break és a Continue.
Szintaxis
A következő blokk mutatja a Do-while ciklus szintaxisát:
A következő blokk mutatja a Do-until ciklus szintaxisát:
A Do-While ciklus folyamatábrája
A Do-Until ciklus folyamatábrája
Példák
A következő példák a Do-while és Do-until ciklus használatát írják le a PowerShellben:
Példa1: Ebben a példában egy egész szám értékeit nyomtatjuk ki 1 és 10 között.
Kimenet:
12345678910
Példa2: Ebben a példában egy tömb értékeit fogjuk kiírni a Do until ciklus segítségével.
Kimenet:
1234567
Példa3: Ebben a példában az 5-ös szorzótáblát nyomtatjuk ki Do-while ciklus segítségével.
Kimenet:
5 * 1 = 55 * 2 = 105 * 3 = 155 * 4 = 205 * 5 = 255 * 6 = 305 * 7 = 355 * 8 = 405 * 9 = 455 * 10 = 50
Ebben a példában az 5-ös szorzótáblát nyomtattuk ki Do-while ciklus segítségével. Először létrehoztunk és inicializáltunk egy $table és egy $i változót 5, illetve 1 értékkel. Ezután írtunk egy do-while ciklust.
A ciklusban van egy echo parancsunk, amely kiírja a $res eredményét, amely a $table * $i szorzatát tárolja.
Minden alkalommal a $i változó értékét növeljük 1-gyel, és ellenőrizzük a feltételt. Amikor a $i változó értéke 11 lesz, a feltétel hamis lesz, és a ciklus befejeződik.