Pochopení rozdílů mezi smyčkou do-while, do-until a while může být matoucí. Je to totéž? Proč tedy dvě různé techniky?“

V tomto příspěvku na blogu ukážu rozdíly. Nejprve se však musíme podívat na základy.

Smyčka do-až

Smyčka do-až bude něco dělat, dokud se nestane pravdivou podmínka.

Všimněte si rovné podmínky pro tuto smyčku $číslo -eq ‚0‘.

Například níže uvedený kód bude probíhat, dokud na klávesnici nezmáčknete nulu. Teprve pak se podmínka stane pravdivou (0).

do {$number=Read-Host "Enter number (Press 0 to Quit)"}until ($number -eq '0')

Do-While

Smyčky Do-While budou něco dělat, dokud je podmínka pravdivá.

Všimněte si podmínky not equal pro tuto smyčku $number -ne ‚0‘.

Následující kód bude probíhat, dokud na klávesnici nestisknete 0, jinými slovy, skript se bude provádět tak dlouho (dokud) nebude podmínka pravdivá (0).

do {$number=Read-Host "Enter number"}while ($number -ne 0)

While

Smyčky While jsou podobné smyčkám Do-While. Tento typ smyčky však provádí kontrolu jako první, zatímco smyčka Do-While provádí kontrolu až po prvním průchodu.

Při předposledním průchodu je $i 9, takže se provede poslední průchod, ale pak už ne.

while ($i -ne 10) {$i++Write-Host $i}

Do-Until vs. Do-While. Do-While vs. While

Následující příklad ukazuje rozdíly, které nejsou na první pohled podstatné, ale jsou.

První smyčka proběhne pouze jednou, protože proběhne pouze, dokud (dokud) je $i větší než 10.

První smyčka proběhne pouze jednou. V tomto případě tomu tak není. Proto se smyčka po prvním spuštění zastaví, když je kontrola zpracována.

Druhá smyčka poběží nekonečně dlouho, protože $i nikdy nebude větší než 10, a proto je statemtent pravdivý.

$i = 10do {Write-Output 'This is executed once.'}while ($i -gt 10)do {Write-Output 'This is done over and over again!'}until ($i -gt 10)

V neposlední řadě smyčka while bez příkazu do. Tato smyčka nikdy neproběhne, protože kontrola se provede před spuštěním smyčky.

$i = 10while ($i -gt 10) {Write-Output 'This will never be executed.'}

Doufám, že se mi podařilo vnést trochu světla do tmy, pokud jde o smyčku s příkazem do.

Na shledanou příště s PowerShellem!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.