Langage tcl › Les listes

Les listes

Introduction

Soit la liste suivante:

set toto "un" "deux" "trois"

Nous pouvons tout aussi bien la déclarer comme ceci, cela produit le même résultat.

set toto [list "un" "deux" "trois"]

Personnellement je préfère la déclarer comme la 2eme façon, je la trouve bien plus compréhensible et plus lisible.

Pour résumer très simplement l'utilisation des liste, voici diverses astuces pour la gestion des listes :

 

Commenta faire pour :

 


Ajouter une valeur à la liste

Pour ajouter une nouvelle valeur

Ecrivez ceci :

lappend toto "ma nouvelle valeur"

 

Editer une valeur en connaissant son index

Utilisez la commande lset

Dans notre exemple, pour remplacer "deux" par "dix, écrivez ceci :

lset toto 1 "dix"
  • lset : commande pour ajuster une valeur dans une liste
  • toto : le nom de la liste à modifier
  • 1 : l'index de l'item à modifier (les index commencent toujours par 0)
  • "dix" : la nouvelle valeur

Enlever une valeur par sa valeur dans la liste

Ecrivez ceci :

set idx [lsearch $toto "deux"]
set toto [lreplace $toto $idx $idx]
  • idx est l'index résultant de la recherche de la chaine "deux"
  • la 2eme ligne remplace "deux" par une chaine vide, c'est à dire l'nelève de la liste

Enlever une valeur par son index

Dans notre exemple si je veux retirer la chaine de caractère "deux" voici comment faire

set toto [lreplace $toto 1 1]
  • lreplace : remplace une chaine
  • $toto : la liste pointée pour la modification
  • le premier un : L'index de la chaine à remplacer
  • le 2eme un : le nombre de valeur qui seront affectés