Recherche…


Création et initialisation de tableaux simples

Introduction

Un tableau est un objet conteneur contenant plusieurs valeurs. Dans l'image suivante, vous pouvez voir un tableau de taille 10, le premier élément indexé 1 et le dernier élément 10.

entrer la description de l'image ici

Autohotkey offre quelques manières de définir et de créer des tableaux.

  • Tableau: = []
  • Tableau: = Array ()

Création et initialisation de tableaux avec un nombre N d'éléments

Array := [Item1, Item2, ..., ItemN]
Array := Array(Item1, Item2, ..., ItemN)

Dans Autohotkey, il est possible d'avoir des tableaux sans élément:

Array := [] ; works fine.

Et des éléments peuvent ensuite lui être assignés:

Array[0] := 1

La taille du tableau peut être déterminée en utilisant une méthode appelée length :

msgbox % array.length()  ; shows 1 in this case.

Si le tableau n'est pas vide, MinIndex et MaxIndex / Length renvoient l'index le plus bas et le plus élevé actuellement utilisé dans le tableau. Comme l'index le plus bas est presque toujours 1, MaxIndex renvoie généralement le nombre d'éléments. Cependant, s'il n'y a pas de clés entières, MaxIndex renvoie une chaîne vide alors que Longueur renvoie 0.

Création et initialisation de tableaux multidimensionnels

Vous pouvez créer un tableau multidimensionnel comme suit:

Array[1, 2] := 3

Vous pouvez créer et initialiser en même temps, et il n'est pas nécessaire que les tableaux internes aient la même longueur.

Array := [[4,5,6],7,8]

Les tableaux comme celui-ci sont également appelés tableaux de tableaux.

Remplir un tableau

; 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, ...)

La valeur d'un index pour un élément de tableau peut également être un entier négatif (-1, 0, 1, 2, 3, 4, ...)

Suppression d'éléments d'un tableau

; Remove an item:
RemovedValue := Array.RemoveAt(Index)

; Remove the last item:
RemovedValue := Array.Pop()

Ajout de méthodes personnalisées en remplaçant la fonction Array ()

AutoHotkey est un langage de programmation basé sur un prototype , ce qui signifie que vous pouvez remplacer n'importe quelle fonction / objet intégré à tout moment. Cet exemple montre comment remplacer la fonction Array () afin d'ajouter des méthodes dans un objet de classe personnalisé.

; 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() 


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow