lset - Freyens
Home Informatique Projets CV WOT Mmm J'aime Coup de gueule Famille Web Radio Belge B&M Art-NFT

C'est une pub! Ce thême est basé sur w3 css.

Oui vous êtes capable de modifier ce thême

Cool? Oui, avec plein d'exemples faciles à comprendre et à modifier.

Aller sur W3.CSS Tutorial c'est en anglais mais google peux traduire les pages.

lset

La curiosité n’est pas un vilain défaut mais une qualité fondamentale.

lset - Modifier un élément dans une liste

SYNOPSIS

varName ?index...? nouvelle valeur

DESCRIPTION

La commande lset accepte un paramètre, varName , qu'elle interprète comme le nom d'une variable contenant une liste Tcl. Il accepte également zéro ou plusieurs indices dans la liste. Les indices peuvent être présentés soit consécutivement sur la ligne de commande, soit regroupés dans une liste Tcl et présentés comme un seul argument. Enfin, il accepte une nouvelle valeur pour un élément de varName .

Si aucun index n'est présenté, la commande prend la forme :

lset varName nouvelle valeur
ou
lset varName {} nouvelleValeur
Dans ce cas, newValue remplace l'ancienne valeur de la variable varName.

Lorsqu'elle est présentée avec un index unique, la commande lset traite le contenu de la variable varName comme une liste Tcl. Il adresse l' indice 'ième élément qu'il contient (0 fait référence au premier élément de la liste). Lors de l'interprétation de la liste, lset observe les mêmes règles concernant les accolades, les guillemets et les barres obliques inverses que l'interpréteur de commandes Tcl ; cependant, la substitution de variable et la substitution de commande ne se produisent pas. La commande construit une nouvelle liste dans laquelle l'élément désigné est remplacé par newValue . Cette nouvelle liste est stockée dans la variable varName , et est également la valeur de retour de la commande lset .

Si index est négatif ou supérieur ou égal au nombre d'éléments dans $varName , une erreur se produit.

Si index a la valeur end , il fait référence au dernier élément de la liste, et end- integer fait référence au dernier élément de la liste moins le décalage entier spécifié.

Si des arguments d'index supplémentaires sont fournis, chaque argument est utilisé à son tour pour adresser un élément dans une sous-liste désignée par l'opération d'indexation précédente, permettant au script de modifier des éléments dans les sous-listes. La commande,

lset a 1 2 newValue
ou
lset a {1 2} newValue
remplace l'élément 2 de la sous-liste 1 par newValue .

L'entier apparaissant dans chaque argument d'index doit être supérieur ou égal à zéro. L'entier apparaissant dans chaque argument d'index doit être strictement inférieur à la longueur de la liste correspondante. En d'autres termes, la commande lset ne peut pas modifier la taille d'une liste. Si un index est en dehors de la plage autorisée, une erreur est signalée.

EXEMPLES

Dans chacun de ces exemples, la valeur initiale de x est :
ensemble x [liste [liste abc] [liste def] [liste ghi]]
  => {abc} {def} {ghi}
La valeur de retour indiquée devient également la nouvelle valeur de x (sauf dans le dernier cas, qui est une erreur qui laisse la valeur de x inchangée.)
lset x {jkl} => jkl
lset x {} {jkl} => jkl
lset x 0 j => j {def} {ghi}
lset x 2 j => {abc} {def} j
lset x end j => {abc} {def} j
lset x end-1 j => {abc} j {ghi}
lset x 2 1 j => {abc} {def} {gji}
lset x {2 1} j => {abc} {def} {gji}
lset x {2 3} j => index de liste hors limites
Dans les exemples suivants, la valeur initiale de x est :
ensemble x [liste [liste [liste ab] [liste cd]] \
            [liste [liste ef] [liste gh]]]
 => {{ab} {cd}} {{ef} {gh}}
La valeur de retour indiquée devient également la nouvelle valeur de x .
lset x 1 1 0 j => {{ab} {cd}} {{ef} {jh}}
lset x {1 1 0} j => {{ab} {cd}} {{ef} {jh}}

VOIR ÉGALEMENT

list , lappend , lindex , linsert , llength , lsearch , lsort , lrange , lreplace

MOTS CLÉS

element , index , list , replace , set