vendredi 10 novembre 2006

Les listes linéaires (logo)Les listes linéaires

Comment créer et travailler avec une liste linéaire

Création de listes

Pour être utilisée, une liste doit être assignée à une variable. MaVarListe = [data1, data2, data3]

Les crochets "[" et "]" sont important, c’est ce qui permet au Lingo de reconnaitre une liste. Pour initialiser une liste vide on utilise les notations suivantes :

- [] : pour une liste linéaire

- [ :] : pour une liste de propriétés

1) Dans la fenêtre message tapez :

ListeCourses = ["patates", "oeufs", "lait"]

Vous avez créé une liste linéaire nommée ListeCourses avec 3 items chaine de caractères.

Note : le texte est placés entre guillemets pour ne pas le confondre avec les variable.

2) Dans la fenêtre message tapez :

put ListeCourses

Director répond :

-- ["patates", "oeufs", "lait"]

C’est-à-dire la liste créée. Si vous avez <void> , c’est qu’il y a un problème de syntaxe certainement dans le nom de la liste. Vérifiez ce que vous avez tapé en étape 1.

La puissance des listes réside dans les différentes manières existantes pour modifier leur contenu. Le lingo possède de nombreuses commandes, consultez son dictionnaire

listObjRef.getAt(intPos)

Cette fonction retourne la valeur de la liste listObjRef à la position intPos. intPosdoit être un entier positif non nul.

3) Dans la fenêtre message tapez :

put ListeCourses.getAt(2)

Vous aurez en retour :

-- "oeufs"

Vous pouvez assigner une variable au résultat.

secondePos = ListeCourses.getAt(2)

put secondePos

-- "oeufs"

listObjRef.getOne(value)

Cette fonction retourne la position d’une valeur dans une liste linéaire.

4) Dans la fenêtre message tapez :

put ListeCourses.getOne("lait")

le résultat :

-- 3

"lait" est effectivement le troisième de la liste.

5) Dans la fenêtre message tapez :

ListeCourses.addAt(2, "pain")

put ListeCourses

Director retourne :

-- ["patates", "pain", "oeufs", "lait"]

Le mot "pain" arrive en seconde position, poussant les autres items vers "l’arrière" de la liste.

Tester les fonctions suivantes : listObjRef.setAt(intPos, value) : remplace l’élément spécifié par intPos par la valeur spécifiée par value dans la liste spécifiée par listObjRef. Lorsque intPos est supérieur au nombre d’éléments d’une liste de propriétés, la commande setAt renvoie une erreur de script. Lorsque intPos est supérieur au nombre d’éléments d’une liste linéaire, Director insère des entrées vierges dans la liste pour ajouter le nombre d’emplacements spécifiés par intPos.

listObjRef.add(value) : ajoute une valeur à une liste linéaire. Dans le cas d’une liste triée, cette valeur est placée dans l’ordre correct. Dans le cas d’une liste non triée, cette valeur est placée à la fin de la liste.

listObjRef.append(value) : ajoute la valeur spécifiée à la fin d’une liste linéaire. Elle est différente de la commande add, qui insère une valeur à une liste triée à l’endroit appropriée de cette liste.

listObjRef.getLast()  : identifie la dernière valeur d’une liste

listObjRef.count() : renvoie le nombre d’entrées d’une liste

listObjRef.sort() : trie les éléments d’une liste par ordre alphabétique.