La langue

Tcl est très simple langage de programmation. Si vous avez programméavant, vous pouvez apprendre assez pour écrire des programmes TCL intéressants en quelques heures. Cette page fournit un aperçu rapide des principales fonctionnalités de Tcl. Après avoir lu ceci, vous pourrez probablement commencer à écrire des scripts Tcl simples par vous-même; cependant, nous vous recommandons de consulter l’un des nombreux livres Tcl disponibles pour plus d’informations complètes.

syntaxe de base

les scripts Tcl sont constitués de commandes séparées par des sauts de ligne ou des points-virgules., Les commandes ont toutes la même forme de base illustréepar l’exemple suivant:

expr 20 + 10

Cette commande calcule la somme de 20 et 10 et renvoie le résultat, 30.Vous pouvez essayer cet exemple et tous les autres de cette page en les saisissant dans une application Tcl telle que tclsh; une fois la commande terminée, tclsh imprime son résultat.

chaque commande Tcl se compose d’un ou plusieurs mots séparés par des espaces., Dans cet exemple, il y a quatre mots: expr,20, + et 10. Le premier mot est le nom d’une commande et les autres mots sont des arguments pour cette commande. Toutes les commandes Tcl sont constituées de mots, mais différentsles commandes traitent leurs arguments différemment.La commandeexpr traite tous les itsarguments ensemble comme une expression arithmétique, calcule le résultat de thatexpression et renvoie le résultat sous forme de chaîne., Dans la commandeexprla division en mots n’est pas significative: vous pourriez tout aussi bien avoir appelé la même commande que

expr 20+10

Cependant, pour la plupart des commandes, la structure des mots est importante, Chaque mot étant utilisé dans un but distinct.

toutes les commandes Tcl renvoient les résultats. Si une commande n’a pas de résultat significatif, elle renvoie une chaîne vide comme résultat.

Variables

Tcl vous permet de stocker des valeurs dans des variables et utiliser les valeurs laterin commandes. La commandeset est utilisée pour écrire et readvariables., Par exemple, la commande suivante modifie la variablex pour conserver la valeur 32:

set x 32

La commande renvoie la nouvelle valeur de la variable. Vous pouvez lire la valeur d’une variable en appelant set avec seulement un singleargument:

set x

Vous n’avez pas besoin de déclarer des variables dans Tcl: une variable est créée automatiquement la première fois qu’elle est définie. Les variables Tcl n’ont pas de types: n’importe quelle variable peut contenir n’importe quelle valeur.,

pour utiliser la valeur d’une variable dans une commande, utilisez variablesubstitution comme dans l’exemple suivant:

expr $x*3

Lorsqu’un$ apparaît dans une commande, Tcl traite les lettres et les chiffres qui la suivent comme un nom de variable et remplace la valeur de la variable à la place du nom. Dans cet exemple, l’argument réel reçu par la commande expr sera32*3 (en supposant que la variable x était définie dans l’exemple précédent)., Vous pouvez utiliser la substitution de variables dans n’importe quel mot de n’importe quelle commande, ou même plusieurs fois dans un mot:

set cmd exprset x 11$cmd $x*$x

substitution de commande

Vous pouvez également utiliser le résultat d’une commande dans un argument à un autrecommande. C’est ce qu’on appelle la substitution de commande:

set a 44set b 

lorsqu’une en tant que commande Tcl imbriquée.Tcl évalue la commande imbriquée et remplace son résultat par la commande englobante à la place du texte entre crochets., Dans l’exemple ci-dessus, le deuxième argument de la deuxième commande set sera 176.

les Citations et les accolades

les guillemets permettent de spécifier des mots qui contiennent des espaces. Par exemple, considérons le script suivant:

set x 24set y 18set z "$x + $y is "

Après ces trois commandes sont évalués variable z aurait la valeur de 24 + 18 is 42. Tout ce qui se trouve entre les guillemets est passé à la commande set en un seul mot., Notez que (a) les substitutions de commande et de variable sont effectuées sur le texte entre les guillemets, et (b) les guillemets eux-mêmes ne sont pas passés à la commande.Si les guillemets n’étaient pas présents, la commande set aurait reçu 6 arguments, ce qui aurait provoqué une erreur.

Les accolades fournissent une autre façon de regrouper les informations en mots.,Ils sont différents des guillemets en ce qu’aucune substitution n’est effectuée sur le texte entre les accolades:

set z {$x + $y is }

Cette commande définit la variablez à la valeur »$x + $y is « .

structures de contrôle

Tcl fournit un ensemble complet de structures de contrôle, y compris les commandes pour l’exécution conditionnelle, le bouclage et les procédures. Tcl controlstructures sont juste des commandes qui prennent des scripts Tcl comme arguments.,L’exemple ci-dessous crée un Tcl procédure appelée power,ce qui soulève une base à une puissance entière:

proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}

Ce script consiste en une seule commande, proc. La commandeproc prend trois arguments: le nom d’une procédure,une liste de noms d’arguments et le corps de la procédure, qui est un script Tcl. Notez que tout ce qui se trouve entre l’Accolade à la fin de la première ligne et l’Accolade sur la dernière ligne est passedverbatim à proc en tant qu’argument unique., La commandeproccrée une nouvelle commande Tcl nomméepower qui prend deux arguments. Vous pouvez ensuite appeler power avec les commandescomme suit:

power 2 6power 1.15 5

lorsque power est appelé, le corps de la procédure est évalué.Pendant l’exécution du corps, il peut accéder à ses arguments en tant que variables:base contiendra le premier argument et p contiendra le second.,

Le corps de la balise power procédure contient trois commandes Tcl:set, while et return. La commandewhile effectue la majeure partie du travail du procedure.It prend deux arguments, une expression ($p > 0) et abody, qui est un autre script Tcl. La commandewhile évalue son argument d’expression en utilisant des règles similaires à celles du langage de programmation C et si le résultat est vrai (non nul), il évalue le corps en tant que script Tcl., Il répète ce processus de manière répétée jusqu’à ce que l’expression soit finalement évaluée à false (zéro). Dans ce cas, le corps de la commandewhile a multiplié la valeur du résultat parbase, puis décrémentep. Lorsquep atteint zéro, le résultat contient la puissance désirée debase. La commande return provoque la sortie de la procédure avec la valeur de la variable result comme résultat de la procédure.

d’où viennent les commandes?,

comme vous l’avez vu, toutes les fonctionnalités intéressantes de Tcl sont représentées par des commandes. Les instructions sont des commandes, les expressions sont évaluées en exécutant des commandes,les structures de contrôle sont des commandes et les procédures sont des commandes.

Les commandes Tcl sont créées de trois manières. Un groupe de commandesest fourni par L’interpréteur Tcl lui-même. Ces commandes sont appeléescommandes builtin. Ils incluent toutes les commandes que vous avez vues jusqu’à présent et bien d’autres (voir ci-dessous). Les commandes intégrées sont présentes dans toutes les applications Tcl.

le deuxième groupe de commandes est créé à L’aide du TCL extensionmechanism., Tcl fournit des API qui vous permettent de créer une nouvelle commandeen écrivant une procédure de commande en C ou C++ qui implémente la commande. Vous enregistrez ensuite la procédure de commande avec l’interpréteur theTcl en indiquant à Tcl le nom de la commande que theprocedure implémente. À l’avenir, chaque fois que ce nom particulier est utilisé pour une commande Tcl, Tcl appellera votre procédure de commande pourexécuter la commande. Les commandes intégrées sont également implémentées en utilisant ce même mécanisme d’extension; leurs procédures de commande font simplement partie de la bibliothèque Tcl.,

lorsque Tcl est utilisé dans une application, L’application incorpore ses fonctionnalités clés dans Tcl à l’aide du mécanisme d’extension. Ainsi, les commandes Tcl setof disponibles varient d’une application à l’autre.Il existe également de nombreux paquets d’extension qui peuvent être incorporésdans n’importe quelle application Tcl. L’une des extensions les plus connues est Tk,qui fournit de puissantes installations pour construire des interfaces utilisateur graphiquesinterfaces. D’autres extensions fournissent une programmation orientée objet, un accès à la base de données,plus de capacités graphiques et une variété d’autres fonctionnalités., L’un des plus grands avantages de Tcl pour la création d’applications d’intégration est la facilité avec laquelle il peut être étendu pour incorporer de nouvelles fonctionnalités ou communiquer avec d’autres ressources.

le troisième groupe de commandes est constitué de procédures créées avec la commandeproc, telle que la commandepower créée ci-dessus. En règle générale, les extensions sont utilisées pour les fonctions de niveau inférieur où la programmation C est pratique, et les procédures sont utiliséespour les fonctions de niveau supérieur où il est plus facile d’écrire en Tcl.,

Autres fonctionnalités

Tcl contient de nombreuses autres commandes que celles utilisées dans thepreceding exemples. Voici un échantillonneur de certaines des fonctionnalités fournies par les commandes Tcl intégrées:

  • plus de structures de contrôle, telles que if, for,foreach Et switch.
  • manipulation de chaînes, y compris une puissante facilité de correspondance d’expression régulière. Les chaînes de longueur arbitraire peuvent être transmises et manipulées aussi facilement que les nombres.,
  • e / s, y compris les fichiers sur disque, les sockets réseau et les périphériques tels que les ports série. Tcl fournit des installations particulièrement simples pourla communication de blocage sur Internet.
  • Gestion de fichiers: Tcl fournit plusieurs commandes pour manipuler les noms de fichiers, lire et écrire des attributs de fichiers,Copier des fichiers, supprimer des fichiers, créer des répertoires, etc.
  • appel de sous-processus: vous pouvez exécuter d’autres applications avec la commandeexec et communiquer avec elles pendant leur exécution.,
  • listes: Tcl facilite la création de collections de valeurs (listes)et leur manipulation de différentes manières.
  • tableaux: vous pouvez créer des valeurs structurées composées de paires de noms-valeurs avec des valeurs de chaîne arbitraires pour les noms et les valeurs.
  • manipulation de L’heure et de la date.
  • événements: Tcl permet aux scripts d’attendre que certains événements se produisent, tels que le temps écoulé ou la disponibilité des données d’entrée sur un socket réseau.,

Exemples

  • Un simple outil de ligne de commande
  • Un simple serveur de réseau

Tutoriel

Avez un peu de temps pour se plonger un peu plus dans la langue?Le didacticiel Tcl est un excellent moyen d’en savoir plus sur les différentes commandes et fonctionnalités de langage de Tcl.

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *