Wir erklären Ihnen alles
Variablen sind die grundlegendste Datenstruktur bei jeder Art von Codierung . Einzelne Variablen reichen jedoch für die meisten Zwecke kaum aus, insbesondere bei komplexeren Algorithmen.
Hier kommen Arrays ins Spiel. Ob C++ oder Python , Arrays sind in irgendeiner Form in jeder Programmiersprache vorhanden. Aber was ist mit Windows PowerShell? Wie funktionieren PowerShell Arrays? Wie verwendet man sie? Wie lautet ihre Syntax? Lassen Sie es uns herausfinden.
PowerShell Arrays 101
Einfach ausgedrückt ist ein Array nur eine strukturierte Sammlung von Variablen. Die Idee besteht darin, den Aufwand zu vermeiden, Dutzende von Namen im Auge behalten zu müssen, indem verwandte Variablen in einem nummerierten Satz zusammengefasst werden.
In PowerShell können Sie eine Variable erstellen, indem Sie dem Variablennamen das Symbol $ voranstellen. Beispiel:
$prime = 13
Die Variable kann jeden Datentyp enthalten, von Zahlen bis zu Zeichenfolgen. Sie müssen nur doppelte oder einfache Anführungszeichen verwenden, um eine Zeichenfolge anzugeben.
$name = „Levin“
Um nun ein neues Array zu erstellen, weisen Sie derselben Variable einfach mehrere Werte zu, getrennt durch Kommas. So:
$week = „Montag“, „Dienstag“, „Mittwoch“, „Donnerstag“, „Freitag“, „Samstag“, „Sonntag“
Manche Leute ziehen es vor, eine Variable explizit in ein Array zu konvertieren, um Verwirrung zu vermeiden, obwohl das nicht notwendig ist. Dazu setzen Sie die Werte in Klammern, denen das @-Symbol vorangestellt ist.
$week = @(„Montag“, „Dienstag“, „Mittwoch“, „Donnerstag“, „Freitag“, „Samstag“, „Sonntag“)
Dies ist normalerweise praktisch, wenn Sie versuchen, die Ausgabe anderer Befehle in ein Array einzufügen, wo Sie sie nicht manuell im richtigen Format schreiben können.
Erstellen eines Arrays
Wir haben bereits die gängigste Methode zum Erstellen eines Arrays kennengelernt. Aber je nach Situation gibt es andere Möglichkeiten, die besser geeignet sein könnten. Wenn Sie beispielsweise ein Array erstellen möchten, das einen Zahlenbereich enthält, können Sie den Bereichsoperator verwenden:
$ziffern = (0..9)
Dadurch wird ein Array aller zehn Ziffern von null bis neun erstellt. Sie können auch ein leeres Array initialisieren, falls Sie nur einen Ort zum späteren Speichern von Werten benötigen.
$Werte = @()
Es können sogar mehrere Arrays ineinander verschachtelt werden, allerdings kann diese Art der Verwendung schnell verwirrend sein.
$Koordinaten = @(
(5, 10, 23),
(11, 7, 16)
)
Standardmäßig kann ein Array jeden Variablentyp speichern, seien es Zahlen, Zeichenfolgen oder eine Mischung aus beidem. Sie können jedoch einen Typ explizit definieren, falls Sie die darin abgelegten Werte begrenzen möchten. Beispiel:
[int[]] $zahlen = 2,3,4,5
Auf diese Weise kann das Array nur Ganzzahlen enthalten. Der Versuch, ihm einen anderen Werttyp zuzuweisen, führt zu einem Fehler. Dies kann nützlich sein, um einfache Fehler bei Arrays zu vermeiden, die ausschließlich mit numerischen Werten arbeiten, da die Eingabe einer Zeichenfolge in eine Variable, die in Berechnungen verwendet werden soll, zu Problemen führt.
Auf Arrays zugreifen
Bisher haben wir mehrere Methoden zum Erstellen von Arrays mit verschiedenen Datentypen kennengelernt. Aber wie greifen Sie auf diese Daten zu?
PowerShell Arrays verwenden dasselbe Format wie andere Programmiersprachen. Auf jede Array-Variable kann über ihre Indexnummer zugegriffen werden. Beispiel:
$var = $zahlen[5]
Dadurch wird der im Index fünf des Arrays $numbers gespeicherte Wert in die Variable $var kopiert . Beachten Sie, dass die Array-Indizes bei 0 beginnen, sodass auf das erste Element mit 0 zugegriffen wird.
Wenn wir zum Beispiel Folgendes ausgeben würden:
„$Tage[2]“
Wir bekommen Mittwoch, nicht Dienstag.
Mit derselben Methode können Sie diese Werte auch ändern. Der folgende Befehl ändert beispielsweise das zweite Element des Arrays auf Null:
$zahlen[1] = 0
Sie können einem vorhandenen Array auch weitere Elemente hinzufügen, anstatt die Werte der aktuellen Einträge zu ändern, indem Sie sie einfach wie einen arithmetischen Ausdruck hinzufügen.
$namen += „Johny“
Mit dieser Methode können auch mehrere Einträge oder sogar ganze Arrays gleichzeitig hinzugefügt werden.
$namen += „Charlie, Liam, Teresa“
$Namen += $Nachnamen
Die kommagetrennte Methode gilt auch für den Zugriff auf mehrere Array-Elemente. Wenn Sie dies beispielsweise eingeben, werden die ersten fünf Elemente von $days in $weekdays gespeichert .
$Wochentage = $Tage[0,1,2,3,4]
Durch Arrays iterieren
Der manuelle Zugriff auf bestimmte Elemente eines Arrays ist gut und schön, aber wenn Sie Aktionen für den gesamten Inhalt eines Arrays ausführen möchten, kann dies mühsam werden. Ein eleganterer Ansatz ist die Verwendung einer For-Schleife.
For-Schleifen können systematisch alle Elemente eines Arrays durchlaufen und jeden Wert gemäß den Anweisungen verarbeiten. So können Sie eine solche Schleife konstruieren:
Für ($i = 0; $i -lt $Tage.Länge; $i++)
{
$Tage[$i]
}
Die Funktion array.Length gibt die Größe des Arrays zurück, also im Wesentlichen die Anzahl der darin enthaltenen Elemente. Dies kann in den Testausdrucksparameter einer For-Schleife eingefügt werden, um alle Elemente umfassend zu durchlaufen.
Die Foreach-Schleife und die Foreach-Objektschleife können dasselbe mit einem noch schlankeren PowerShell-Skript tun.
Foreach ($Tag in $Tagen)
{
$Tag
}
Dadurch müssen Sie nicht die Größe des Arrays ermitteln und können die Details von PowerShell verarbeiten lassen Uncorrectable Error.
Wann sollten Sie PowerShell Arrays verwenden?
Die größte Fehlerquelle in einem komplexen Skript sind falsch referenzierte Variablen. Dies liegt an der großen Anzahl eindeutig benannter Variablen, wodurch es schwierig wird, sich ihren Zweck zu merken.
Die einfachste Lösung für dieses Problem ist die umfassende Verwendung von Arrays. Alle in irgendeiner Weise verknüpften Variablen können einem einzigen Array zugewiesen und über ihre Indexnummern aufgerufen werden.