Les listes

Avec URBI, vous pouvez stocker des éléments dans une liste, simplement en les encadrant par des crochets:

maliste = [1,2,35.12,"salut"];
maliste;
[139464:notag] [1.000000,2.000000,35.120000,"salut"]

Ajouter de nouveaux éléments ou des listes entre elles se réalise simplement:

maliste = [1,2] + "salut";
maliste;
[146711:notag] [1.000000,2.000000,"salut"]
x = 1;
maliste + [45,x];
[148991:notag] [1.000000,2.000000,"salut",45.000000,1.000000]

Pour accéder successivement à chaque élément d'une liste, utilisez la commande foreach:

liste = [1,2];
foreach n in liste { echo n };
[151228:notag] *** 1.000000
[151228:notag] *** 2.000000

Pour des raisons purement techniques, le code exécuté dans une commande foreach doit être encadré par des accolades, même s'il n'est composé que d'une commande.

Vous pouvez accéder à n'importe quel élément en fournissant sa position dans la liste, comme avec les tableaux de la majorité des langages de programmation:

maliste = [1,2,"salut"];
maliste[2];
[146711:notag] "salut"

Pour accéder aux éléments d'une liste contenue elle-même dans une autre liste, utilisez des index multiples comme maliste[3][4].

Enfin, vous pouvez demander le premier élément de la liste (ce que l'on nomme la tête ou head) et le reste (ce que l'on nomme la queue ou tail):

maliste = [1,2,"salut"];
head(maliste);
[146711:notag] 1.000000
tail(maliste);
[146711:notag] [2.000000,"salut"]