Når vi har brug for at køre en løkke mindst én gang, bruger vi Do-while loopet i en PowerShell.

Do-While loopet er en løkkestruktur, hvor en betingelse evalueres efter udførelse af udsagnene. Denne løkke er også kendt som den exit-kontrollerede løkke.

Do-while-sløjfen er den samme som while-sløjfen, men betingelsen i en do-while-sløjfe kontrolleres altid efter udførelsen af udsagnene i en blok.

Do-while-leddet bruges også sammen med nøgleordet ‘Until’ til at køre udsagnene i en scriptblok. Ligesom en Do-while-loop udføres Do-until-loop’en også mindst én gang, før betingelsen evalueres. Do-Until-sløjfen udfører sine udsagn i en kodeblok, indtil betingelsen er falsk. Når betingelsen er sand, afsluttes løkken.

Vi kan bruge flowkontrolnøgleord som Break og Continue i en Do-while- eller Do-until-loop.

Syntaks

Den følgende blok viser syntaksen for Do-while-loop:

Den følgende blok viser syntaksen for Do-until-loop:

Flowdiagram for Do-While-loop

Flowdiagram for Do-Until-loop

Eksempler

De følgende eksempler beskriver, hvordan man bruger Do-while- og Do-until-loop’en i PowerShell:

Eksempel1: I dette eksempel udskriver vi værdierne for et heltal fra 1 til 10.

Output:

12345678910

Eksempel2: I dette eksempel udskriver vi værdierne for et array ved hjælp af Do until-loopet.

Output:

1234567

Eksempel3: I dette eksempel udskriver vi tabellen for 5 ved hjælp af en Do-while-loop.

Output:

5 * 1 = 55 * 2 = 105 * 3 = 155 * 4 = 205 * 5 = 255 * 6 = 305 * 7 = 355 * 8 = 405 * 9 = 455 * 10 = 50

I dette eksempel har vi udskrevet multiplikationstabellen for 5 ved hjælp af en Do-while-loop. Først har vi oprettet og initialiseret en variabel $table og $i med værdierne henholdsvis 5 og 1. Derefter har vi skrevet en do-while-sløjfe.

I en sløjfe har vi en ekko-kommando, der udskriver resultatet af $res, som gemmer multiplikationen af $table * $i.

Hver gang øges værdien af variablen $i med 1, og betingelsen kontrolleres. Når værdien af variablen $i bliver 11, bliver betingelsen falsk, og sløjfen afsluttes.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.