lrange

 

lrange - Retourne un ou plusieurs éléments adjacents d'une liste

SYNTAXE

 lrange liste premier dernier

DESCRIPTION

Liste doit être une liste Tcl valide. Cette commande renverra une nouvelle liste consistant des éléments premier à dernier, inclus. Premier ou dernier peuvent être end (ou une quelconque de ses abréviations) pour se référer au dernier élément de la liste. Si premier est inférieur à zéro, il est traité comme zéro. Si dernier est supérieur à ou égal au nombre d'éléments dans la liste, alors il est traité comme end. Si premier est supérieur à dernier alors une chaîne vide est renvoyée.

Note :

 lrange liste premier premier

ne produit pas toujours le même résultat que

 lindex liste premier

(bien que souvent il le fasse pour les champs qui ne sont pas entourés d'accolades); il produit , néanmoins, exactement le même résultat que :

 list [lindex liste premier]

RS: On peut utiliser lrange pour obtenir une liste pure (sans représentation string) comme ceci:

 set listePure [lrange $liste 0 end]

XiNeOs: Je ne comprends pas l'utilité de cette commande (dans l'exemple donné par RS), qu'est-ce que signifie "sans représentation string")

ulis: Je ne comprends d'autant moins que listePure est un clone de liste et qu'on peut l'obtenir simplement par [set listePure $liste]

RS: Dans quelques circonstances (comme eval), les listes pures sont plus efficaces.

AM: Il s'agit de la propriété de Tcl d'avoir deux valeurs de différents types pour chaque variable - par exemple une variable qui a la valeur 1.0 (c'est a dire, le décimal 1.0) peut avoir au même temps une représentation de type string, "1.0". Le concept est nommé "double-ported" en anglais. La commande eval transforme une séquence de strings en une liste propre séparée par tous les espaces - si un des arguments est déjà une liste propre, il n'est pas nécessaire de le séparer encore.

Attention: Ce sont des optimisations très subtiles, qu'on peut utiliser parfois !


Catégorie Manuel Tcl/Tk