lassign
La curiosité n’est pas un vilain défaut mais une qualité fondamentale.
lassign - Affecte une liste d'éléments à des variables
SYNTAXE
lassign list varName ?varName ...?
DESCRIPTION
Cette commande l'argument list comme une liste et affecte dans l'ordre les éléments successifs aux variables varName. S'il y a plus de noms de variable donnés que d'éléments dans la liste, les variables restantes seront initialisées avec comme valeur une chaîne vide. S'il y a plus d'éléments dans la liste que de noms de variable, une liste des éléments non-affectés est retournée.
EXEMPLES
Une illustration du fonctionnement de l’affectation multiple et de ce qui arrive quand il y a trop ou trop peu d'éléments.
lassign {a b c} x y z ;# Ne retourne rien puts $x ;# Affiche "a" puts $y ;# Affiche "b" puts $z ;# Affiche "c" lassign {d e} x y z ;# Ne retourne rien puts $x ;# Affiche "d" puts $y ;# Affiche "e" puts $z ;# Affiche "" lassign {f g h i} x y ;# Retourne "h i" puts $x ;# Affiche "f" puts $y ;# Affiche "g"
La commande lassign a d'autres usages, comme par exemple, un équivalent de la commande “shift” de certains shell :
set ::argv [lassign $::argv argument_a_virer]
Mis à jour le 19 septembre 2012 à 12:27 CEST par Stéphane Aulery