### array Commandes Internes Tcl

NOM
array - Manipule les variables tableau
SYNTAXE
array option arrayName ?arg arg ...?
DESCRIPTION
Cette commande effectue une des opérations sur la variable donnée par arrayName. Sauf spécification contraire pour certaines commandes individuelles ci-dessous, arrayName doit être le nom d'une variable tableau existante. L'argument option détermine l'action effectuée par la commande. Les options légales (qui peuvent être abrégées) sont:

array anymore arrayName searchId
  Renvoie 1 s'il reste au moins un élément à traiter pour une recherche dans le tableau, 0 si tous les éléments ont déjà été renvoyés. SearchId indique la recherche à vérifier dans arrayName, et doit avoir été la valeur de retour d'un précédent appel de array startsearch. Cette option est particulièrement utile si un tableau contient un élément avec un nom vide, parce que la valeur de retour de array nextelement n'indiquera pas si la recherche est terminée.
array donesearch arrayName searchId
  Cette commande termine une recherche dans un tableau et détruit l'état associé à cette recherche. SearchId indique quelle recherche détruire dans arrayName; et doit avoir été la valeur de retour d'un précédent appel de array startsearch. Renvoie une chaîne vide.
array exists arrayName
  Renvoie 1 si arrayName est une variable tableau, 0 s'il n'y a pas de variable de ce nom ou si c'est une variable scalaire.
array get arrayName ?pattern?
  Renvoie une liste contenant des paires d'éléments. Le premier élément de chaque paire est le nom d'un élément de arrayName et le second élément de chaque paire est la valeur de l'élément de tableau. L'ordre des paires est indéfini. Si pattern n'est pas spécifié, alors tous les éléments du tableau sont inclus dans le résultat. Si pattern est spécifié, alors seuls les éléments dont les noms correspondent à pattern (en utilisant les règles de correspondances de string match) sont inclus. Si arrayName n'est pas le nom d'une variable tableau, ou si le tableau ne contient pas d'éléments, alors une liste vide est renvoyée.
array names arrayName ?pattern?
  Renvoie une liste contenant le noms de tous les éléments dans le tableau qui correspondent à pattern (en utilisant les règles de correspondance de string match). Si pattern est omis alors la commande renvoie tous les noms des éléments dans le tableau. S'il n'y a pas d 'éléments (correspondants) dans le tableau, ou si arrayName n'est pas le nom d'une variable tableau, alors une chaîne vide est renvoyée.
array nextelement arrayName searchId
  Renvoie le nom de l'élément suivant dans arrayName, ou une chaîne vide si tous les éléments de arrayName ont déjà étés renvoyé dans cette recherche. L'argument searchId identifie la recherche, et doit avoir été la valeur de retour d'une commande array startsearch. Attention: si des éléments sont ajoutés à ou effacés de ce tableau, alors toutes les recherches sont automatiquement terminées exactement comme si array donesearch avait été appelée; ceci causerait l'echec des opérations array nextelement pour ces recherches.
array set arrayName list
  Fixe les valeurs d'un ou plusieurs éléments de arrayName. list doit avoir une forme identique à celle renvoyée par array get, consistant d'un même nombre d'éléments. Chaque élément impair dans list est traité comme un nom d'élément dans arrayName, et les éléments suivants de list sont utilisés comme une nouvelle valeur pour cet élément de tableau. Si la variable arrayName n'existe pas déjà et que list est vide, arrayName est créée avec une valeur tableau vide.
array size arrayName
  Renvoie une chaîne décimale donnant le nombre d'éléments dans le tableau. Si arrayName n'est pas le nom d'un tableau alors 0 est renvoyé.
array startsearch arrayName
  Cette commande initialise une recherche élément-par-élément dans le tableau désigné par arrayName, dont les appels de la commande array nextelement renverront les noms des éléments individuels dans le tableau. Quand la recherche est terminée, la commande tableau donesearch sera appelée. La valeur de retour est un identificateur de recherche qui doit être utilisé dans les commandes array nextelement et array donesearch; il permet à de multiples recherches d'être menées simultanément sur le même tableau.
array unset arrayName ?pattern?
  Efface tous les éléments du tableau qui correspondent à pattern (en utilisant les règles correspondantes de string match). Si arrayName n'est pas le nom d'une variable tableau ou qu'il n'y a pas d'éléments correspondant dans le tableau, alors une chaîne vide est renvoyée. Si pattern est omis et que c'est une variable tableau, alors la commande efface le tableau entier.

Dernière révision: 8.3
Index Précédent Suivant