lassign
La curiosité n’est pas un vilain défaut mais une qualité fondamentale.
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