PowerShell Schleifen Trainer 01

Trainer zu foreach, for, while, do while, do until, Schleifenkopf, Schleifenkörper, Schleifenfuß, Bedingung, Anweisung, kopfgesteuert, fußgesteuert, abweisend und nicht abweisend.

Merkkasten

Schleife Begriff Merksatz
foreach Mengenschleife Durchläuft eine Liste Element für Element.
for Zählschleife Arbeitet mit Zählvariable, Bedingung und Schrittweite.
while Bedingungsschleife Kopfgesteuert und abweisend.
do while Bedingungsschleife Fußgesteuert, nicht abweisend, Laufzeitbedingung.
do until Bedingungsschleife Fußgesteuert, nicht abweisend, Abbruchbedingung.

Vergleichsoperatoren

Diese Operatoren brauchst du für Bedingungen in PowerShell:

-lt = kleiner als -le = kleiner oder gleich -gt = größer als -ge = größer oder gleich -eq = gleich -ne = ungleich

Teil 1: Grundbegriffe

foreach ist eine Mengenschleife, weil eine Menge beziehungsweise Liste Element für Element durchlaufen wird.
for ist eine Zählschleife. Der typische Aufbau ist: Startwert, Laufzeitbedingung, Schrittweite.
while ist eine Bedingungsschleife, weil die Wiederholung von einer Bedingung abhängig ist.
Das nennt man kopfgesteuert. Die Bedingung steht oben im Schleifenkopf.
Das nennt man fußgesteuert. Die Bedingung steht unten am Schleifenfuß.
Das nennt man abweisend. Eine while-Schleife kann direkt abweisen, wenn die Bedingung am Anfang falsch ist.
Das nennt man nicht abweisend. do while und do until laufen mindestens einmal.

Teil 2: Code-Bestandteile erkennen

foreach($elementvariable in $liste){ Write-Host $elementvariable }
$elementvariable ist die Elementvariable. Sie nimmt nacheinander die einzelnen Werte aus der Liste an.
$liste ist die Sammlung/Menge, die durchlaufen wird.
for($i = 0; $i -lt 9; $i++){ Write-Host $i }
$i ist die Zählvariable.
$i -lt 9 ist die Laufzeitbedingung. Die Schleife läuft, solange diese Bedingung wahr ist.
$i++ ist die Schrittweite. Der Wert wird nach jedem Durchlauf um 1 erhöht.
Write-Host $i ist eine Anweisung. Sie steht im Schleifenkörper.

Teil 3: Bedingung schreiben

Schreibe die Bedingung selbst. Leerzeichen sind flexibel, aber Variable, Operator und Wert müssen stimmen.

Richtige Lösung: $a -le 100. Bestandteile: Variable $a, Operator -le, Vergleichswert 100.
Richtige Lösung: $i -lt 9. -lt bedeutet kleiner als.
Richtige Lösung: $test02 -lt 10. Bei do while ist das eine Laufzeitbedingung.
Richtige Lösung: $test03 -ge 10. Bei do until ist das die Abbruchbedingung.

Teil 4: while, do while oder do until?

while ist kopfgesteuert und abweisend.
do while ist fußgesteuert und nutzt eine Laufzeitbedingung: Es läuft, solange die Bedingung wahr ist.
do until nutzt eine Abbruchbedingung: Es läuft, bis diese Bedingung erfüllt ist.

Teil 5: Schleifenkopf, Schleifenkörper, Schleifenfuß

Das ist der Schleifenkopf. Dort stehen Schlüsselwort und Bedingung.
Das ist der Schleifenkörper. Dort stehen die Anweisungen, die wiederholt ausgeführt werden.
Das ist der Schleifenfuß. Die Bedingung steht unten nach dem Schleifenkörper.

Teil 6: Kurzer Vergleich

do while nutzt eine Laufzeitbedingung. Es läuft, solange die Bedingung wahr ist.
do until nutzt eine Abbruchbedingung. Es läuft, bis diese Bedingung wahr wird.