AutoHotkey
Arrays
Suche…
Einfache Arrays erstellen und initialisieren
Intro
Ein Array ist ein Containerobjekt, das mehrere Werte enthält. Im folgenden Bild sehen Sie ein Array der Größe 10, das erste Element 1 und das letzte Element 10.
Autohotkey bietet einige Möglichkeiten zum Definieren und Erstellen von Arrays.
- Array: = []
- Array: = Array ()
Erstellen und Initialisieren von Arrays mit N Anzahl der Elemente
Array := [Item1, Item2, ..., ItemN]
Array := Array(Item1, Item2, ..., ItemN)
In Autohotkey ist es möglich, Arrays ohne Elemente zu haben:
Array := [] ; works fine.
Und Elemente können dann später zugewiesen werden:
Array[0] := 1
Die Arraygröße kann mit einer Methode namens length
:
msgbox % array.length() ; shows 1 in this case.
Wenn das Array nicht leer ist, geben MinIndex und MaxIndex / Length den niedrigsten und höchsten Index zurück, der aktuell im Array verwendet wird. Da der niedrigste Index fast immer 1 ist, gibt MaxIndex normalerweise die Anzahl der Elemente zurück. Wenn jedoch keine Ganzzahlschlüssel vorhanden sind, gibt MaxIndex eine leere Zeichenfolge zurück, während Length 0 zurückgibt.
Erstellen und Initialisieren von mehrdimensionalen Arrays
Sie können ein mehrdimensionales Array wie folgt erstellen:
Array[1, 2] := 3
Sie können gleichzeitig erstellen und initialisieren, und innere Arrays müssen nicht gleich lang sein.
Array := [[4,5,6],7,8]
Arrays wie dieses werden auch Arrays von Arrays genannt.
Array füllen
; Assign an item:
Array[Index] := Value
; Insert one or more items at a given index:
Array.InsertAt(Index, Value, Value2, ...)
; Append one or more items:
Array.Push(Value, Value2, ...)
Der Wert eines Index für ein Array-Element kann auch eine negative ganze Zahl sein (-1, 0, 1, 2, 3, 4, ...).
Elemente aus einem Array entfernen
; Remove an item:
RemovedValue := Array.RemoveAt(Index)
; Remove the last item:
RemovedValue := Array.Pop()
Hinzufügen benutzerdefinierter Methoden durch Überschreiben der Array () - Funktion
AutoHotkey ist eine auf Prototypen basierende Programmiersprache , das heißt, Sie können alle eingebauten Funktionen / Objekte jederzeit überschreiben. In diesem Beispiel wird das Überschreiben der Array () - Funktion veranschaulicht, um Methoden innerhalb eines benutzerdefinierten Klassenobjekts hinzuzufügen.
; Overrides Array()
Array(Args*) {
Args.Base := _Array
Return Args
}
; Custom Class Object with Methods
Class _Array {
; Reverses the order of the array.
Reverse() {
Reversed := []
Loop % This.MaxIndex()
Reversed.Push(This.Pop())
Return Reversed
}
; Sums all Integers in Array
Sum(Sum=0) {
For Each, Value In This
Sum += Value Is Integer ? Value : 0
Return Sum
}
}
; Arr == ["Hello, World!", 4, 3, 2, 1]
Arr := [1, 2, 3, 4, "Hello, World!"].Reverse()
; SumOfArray == 10
SumOfArray := Arr.Sum()