Aller au contenu

Les collections

Une collection est un objet qui permet de rassembler d'autres objets. Il existe pour l'instant deux types de collections qui sont directement implémentés par Sqript : les tableaux et les dictionnaires.

Les tableaux

Un tableau est une variable qui contient d'autres variables.

Les tableaux ont une taille infinie (limitée par la RAM), et peuvent contenir n'importe quels types de variables. Un tableau peut tout à fait contenir à la fois des chaînes de caractères, des nombres, voire d'autres tableaux. Une instance de TypeArray s'obtient facilement en notant entre crochets, séparés d'une virgule, les éléments qui composent notre tableau. Il est possible de créer un tableau vide en notant deux crochets vides [].

Il est ensuite possible de récupérer un élément à un indice particulier en notant la variable, suivie de deux crochets contenant une expression retournant un TypeNumber :

def array to [true, "test", 5, sqrt(36)]
print array[3] //Output : 6
print array[7-(3*2)] //Output : "test"

Warning

Les indices des tableaux commencent à partir de 0.

On peut ajouter ou retirer des éléments à un tableau grâce aux actions add to et remove from :

set tableau to [1,2,3]
add 4 to tableau
print tableau #Affiche [1,2,3,4]
remove 2 from tableau
print tableau #Affiche [1,3,4]

Il est possible d'utiliser les opérateurs + et - sur les tableaux pour désigner l'ajout d'un élément au tableau, ou la suppression d'un élément du tableau, sans changer directement les éléments du tableau.

set tableau to [1,2,3]
print tableau+4 #Affiche [1,2,3,4]
print tableau #Affiche 1,2,3 - La valeur du tableau n'a pas été intrinsèquement changée

Les dictionnaires

Un dictionnaire est un tableau spécial, qui associe à chaque clé une valeur.

Pour définir un dictionnaire, on peut directement créer un dictionnaire vide avec dictionnary ou créer le dictionnaire avec des couples clé-valeur prédéfinis par un tableau de tableaux, comme suit :

set mon_dictionnaire_vide to dictionnary
set mon_dictionnaire to dictionnary with [ ["clé 1",14] , ["clé 2",15] ]

De la même manière que pour les tableaux, on peut récupérer une valeur en notant entre crochet la clé associée à la valeur souhaitée directement après le dictionnaire :

set mon_dictionnaire to dictionnary with [ ["clé 1",14] , ["clé 2",15] ]
print mon_dictionnaire["clé 2"] #Affiche 15

Tout comme les tableaux, il est possible d'ajouter un couple de valeurs au dictionnaire avec l'action add ou, sans modifier le dictionnaire, l'opérateur + :

set mon_dictionnaire_vide to dictionnary
add ["clé","valeur"] to mon_dictionnaire_vide
print mon_dictionnaire_vide["clé"] #Affiche "valeur"

Il est aussi possible de retirer un élément du dictionnaire en utilisant l'action remove ou, sans modifier le dictionnaire, avec l'opérateur -, avec la clé du couple que l'on veut retirer :

set mon_dictionnaire to dictionnary with [ ["clé 1",14] , ["clé 2",15] ]
remove "clé 1" from mon_dictionnaire
print mon_dictionnaire #Affiche [ ["clé 2",15] ]

Danger

C'est bien la clé qui permet de supprimer un couple !