QU’est-ce que TCL?

TCL est une application shell qui lit la commande TCL à partir de son entrée standard ou d’un fichier et donne les résultats souhaités.

TCL est un langage de script basé sur des chaînes et également un langage procédural. Il a été créé par John Osterhout en 1989. Le but de développer ce langage est des applications Inti ( ) intégrées faciles. Le langage est couramment utilisé pour les interfaces graphiques et les tests. Par exemple, prototypage rapide, test d’interaction de base de données, etc., Dans TCL par défaut, tout est une chaîne.,

  • Variable TCL
  • Expression et opérateur TCL
  • contrôle de flux TCL et prise de décision
  • comment exécuter TCL

    Il existe deux façons d’exécuter le code TCL

    1. L’application Windows est disponible ici fichier exe tcltutor
    2. application basée sur Linux

    dans L’interpréteur interactif Linux, nous pouvons exécuter les scripts TCL comme ci-dessous

    pour accéder à la session interactive TCL, exécutez la commande suivante

    les scripts TCL

    le programme TCL devrait avoir .,extension tcl. Chaque script sous UNIX / LINUX commence par TCL shell path

    #!/usr/bin/tclsh

    exemple: –

    #!/usr/bin/tclshPuts "Hello World"Script execution:-$ chmod +x helloworld.tcl$ ./helloworld.tcl

    Sortie: Hello World

    dans TCL, la commande « Puts » est utilisée pour imprimer des messages sur la console .la syntaxe de met est ci-dessous

    met?-nonewline? ?channelId? string

    • Nonewline: ce paramètre optionnel supprime le caractère de nouvelle ligne par la commande par défaut. Il met un saut de ligne à chaque chaîne
    • Channelid: ce paramètre utilisé pour le canal d’entrée standard (stdin) et le canal de sortie standard (stdout).,

    Ex: –

    %puts "Hello World"% Hello World%puts stdout "Hello World"% Hello World

    Type de Substitution TCL

    Il existe trois types de substitutions dans TCL

    1. substitution de commande
    2. substitution de Variable
    3. substitution de barre oblique inverse

    étudions une par une

    substitution de commande

    les crochets sont utilisés pour la substitution de commande.

    Exemple:

    % puts % 3

    Ici, la commande entre les crochets est évalué en premier. Les résultats sont retournés . »expr » utilisé pour effectuer le calcul arithmétique.,

    la substitution de Variable

    TCL effectue la substitution de variable avec l’aide du signe$.

    Exemple:

    #!/usr/bin/tclshset a 10puts aputs $a 

    Ici, nous créons une variable appelée « a » et réglez la valeur « 10 » pour elle.

    • met : Elle imprime la chaîne « a », mais pas la valeur de  » a  » à la console
    • puts $a : Il imprime la valeur de ‘a’ à la console

    nous allons l’exécuter et de le vérifier. Vous obtiendrez la sortie comme ci-dessous.,

    $ ./substitution.tcl

    a

    substitution de barre oblique inverse

    dans Tcl, la barre oblique inverse est utilisée pour échapper des caractères spéciaux ainsi que pour répartir de longues commandes sur plusieurs lignes. Tout caractère immédiatement après la barre oblique inverse restera sans substitution. Dans l’exemple ci-dessous, vous pouvez voir le caractère spécial  » « , reste après la barre oblique inverse.

    vérifions ceci avec un exemple

    #!/usr/bin/tclshputs "This is my \"car\"$ ./backslashsubstitution.tclThis is my "car"

    remarque: -pour commenter n’importe quelle chaîne dans TCL « # » est utilisé. Tous les caractères après  » #  » sont ignorés par la commande shell tclsh.,

    Variable TCL

    une variable est Un identificateur qui détient une valeur. En d’autres termes, une variable est une référence à un mémoire de l’ordinateur, où la valeur est stockée.

    les Variables sont créées par « commande » et tous les noms de variables sont sensibles à la casse. Cela signifie Bonjour, Bonjour, Bonjour tous sont différents en TCL. Regardez un exemple de variable sensible à la casse.,

    % set name Techoit% set Name Technoit_1% set NAME Technoit_2

    Résultat:-

    % puts $name% Technoit%puts $Name%Technoit_1%puts $NAME%Technoit_2

    la Création de Variables TCL

    Pour créer des variables en TCL, vous devez utiliser la commande « set »

    situé à 10

    Pour obtenir la valeur de la variable devez utiliser le « $ » symbole comme

    % mettre $a

    % 10

    Donc, nous obtenons la valeur de la variable ‘a’ 10.

    TCL Command Info exist

    la commande « set » est utilisée pour créer et lire des variables comme indiqué ci-dessus. La commande unset est utilisée pour détruire une variable., La commande » info exists  » renvoie 1 si varName existe en tant que variable (ou élément de tableau) dans le contexte actuel, sinon renvoie 0. ( voir l’exemple ci-dessous).

    Ex:-

    % set a 20% puts $a% 20% puts % 1% unset a%puts % 0

    les Différents appareils et leur comportement

    {} -> accolades

    accolades en TCL groupe de mots à devenir ensemble des arguments. Les accolades sont utilisées pour définir un bloc différé – en d’autres termes, il peut être exécuté après le reste de la commande sur la ligne en cours. Les caractères entre accolades sont transmis à une commande exactement comme écrit.,

    Quelques points à retenir

    1. la substitution de Variable n’est pas autorisé à l’intérieur d’accolades {}
    2. Il a utilisé pour créer une liste de type de données

    Exemple:

    % set x 10% puts {$x}% $x

    %ensemble nombre {1 2 3 4 5} -> Ici le nombre est une liste de type de données

    %puts $nombre

    %1 2 3 4 5

    -> crochets

    les crochets sont utilisés pour créer des listes de commande. En termes simples, la sortie d’une commande passée en argument à une autre commande., Les crochets sont utilisés pour définir un bloc qui est exécuté avant le reste de la commande sur la ligne en cours, et le résultat est substitué dans la ligne.

    Ex: –

    % set x 10% puts "y : ]"%y : 10% puts "x : $x"%x : 10

    () -> tour accolades

    Cette commande est utilisée pour créer la matrice type de données et d’indiquer aussi la priorité de l’opérateur.

    % set a(1) 10% set a(2) 20

    ici » a  » est un tableau avec les valeurs 10 et 20. Voir ci-dessous les commandes pour imprimer les clés, les paires clé-valeur et les valeurs du tableau.,

    pour imprimer la « nième » valeur du tableau a, Nous utiliserons Puts a A(N)

    arguments de ligne de commande TCL

    Les éléments de données transmis à un script depuis la ligne de commande sont appelés arguments. Le nombre d’arguments de ligne de commande à un script Tcl est passé en tant que variable globale argc . Le nom D’un script Tcl est passé au script en tant que variable globale argv0 , et le reste des arguments de ligne de commande sont passés en tant que liste dans argv.,

    TCL a 3 pré-définis des variables telles que

    $argc -> indicates the number of arguments passed to the script$argv -> indicates list of arguments$argv0 -> indicates the name of script

    Ex:–

    arg-script.tcl#!/usr/bin/tclsh 
    $ ./arg-script.tcl 10 20 30

    résultat:-

    • Nombre d’arguments passés au script: 3
    • Liste des arguments passés au script: 10 20 30
    • Le nom du script est : arg-script.tcl

    TCL Expression et l’Opérateur

    l’Expression est construit à partir d’opérandes et d’opérateurs. Il est évalué avec la commande « expr ». Les opérateurs sont évalués en fonction de la priorité et de l’associativité., Le langage TCL a des opérateurs intégrés comme ci-dessous

    opérateur arithmétique

    une expression TCL consiste en une combinaison d’opérandes, d’opérateurs et de parenthèses., Voyons l’exemple des opérateurs Arithmétiques en TCL

    + Ajouter deux ou plusieurs opérandes

    Ex:-

    %set a 10 %set b 20%puts 30

    – de la soustraction de deux ou plusieurs opérandes

    Ex:-

    %set a 20 %set b 10%puts 10

    *Multiplier deux ou plusieurs opérandes

    %set a 20 %set b 10%puts 200

    / Diviser le numérateur par denumerator

    %set a 20 %set b 10%puts 2

    % Le module opérateur divise le numérateur par de-au numérateur, mais renvoie rappel

    %set a 20 %set b 10%puts 0

    Opérateur Relationnel

    Vérifie si la valeur de l’opérande de gauche est plus grande que la valeur de l’opérande de droite., Si oui, la condition devient vraie et renvoie 1 sinon renvoie 0.

    %set a 20 %set b 10%puts 1

    Vérifiez si la valeur de l’opérande de gauche est inférieure à la valeur de l’opérande de droite., Si oui, alors la condition devient vraie et return 1 else: return 0

    %set a 10 %set b 20%puts 1

    >= Vérifie si la valeur de l’opérande de gauche est supérieure ou égale à la valeur de l’opérande de droite, si oui, alors la condition devient vraie et return 1 else: return 0

    %set a 20 %set b 10%puts 1

    <= Vérifie si la valeur de l’opérande de gauche est inférieure ou égale à la valeur de l’opérande de droite, si oui, alors la condition devient vraie et return 1 else: return 0

    %set a 20 %set b 10%puts 0

    !,re pas égal, alors la condition devient vraie et return 1 else: return 0

    %set a 20 %set b 10%puts 1

    == Vérifie si les valeurs des deux opérandes sont égaux ou non, si oui, alors la condition devient vraie et return 1 else: return 0

    %set a 20 %set b 10%puts 0

    Opérateur Logique

    && Si les deux opérandes sont non nuls, ensuite, la condition devient vraie et return 1 else: return 0

    %set a 20 %set b 10%puts 1

    || Si l’un des deux opérandes est non nulle, alors la condition devient vraie et return 1 else: return 0

    %set a 0 %set b 10%puts 1

    !, Utilisé pour inverser le résultat de n’importe quelle expression. Ici, dans la sortie, vous pouvez voir que la valeur de ‘ a ‘ est maintenant devenue 1 à partir de 0. Alors que la valeur de  » b  » est devenue 0 à partir de 1.

    %set a 0 %set b 1%puts 1%puts 0

    opérateur bit À bit

    & (bit à bit et) effectuez une opération bit à bit et suivez le tableau ci-dessous pour l’opération.,/td>

    0 0 1 1 1 1 0 1 0 1

    Ex:-

    %set A 10%set B 20Follow the sequence to convert decimal to binary number128 64 32 16 8 4 2 110 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 0 1 0 1 020 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 1 0 1 0 0So now as per above tabular rulesA ^ B will be 0 0 0 1 1 1 1 0 à 30

    ~ (bitwise negation) operator changes each 1 to 0 and 0 to 1, follow the table as reference

    A ~A
    0 1
    1 0
    %set A 7%puts -8

    Ternary Operator ( ?,:)

    la syntaxe est

    condition-expression? expression_1: expression_2

    Si la condition-exp est vraie, exp1 est évaluée et le résultat est renvoyé. Si le cond-exp est faux, exp2 est évalué et son résultat est renvoyé. Dans notre exemple, exp1 est vrai car la valeur de A est supérieure à 6.

    %set A 7%set result %puts $resulttrue

    Opérateur de Décalage

    Maj opérateur est désigné par << décalage à gauche de l’opérateur, ou par la balise >> décalage à droite de l’opérateur., Pour<< opérateur de décalage gauche, la valeur des opérandes gauche est déplacée vers la gauche par le nombre de bits spécifié par l’opérande droit.

    %set A 7%set result %puts $result

    Pour le >> décalage à droite de l’opérateur, la gauche de la valeur des opérandes est déplacé à droite du nombre de bits spécifié par l’opérande de droite.

    %set A 7%set result %puts $result

    opérateur de comparaison de chaînes

    L’opérateur de comparaison de chaînes compare la valeur des deux opérandes. Si la valeur de l’opérande est la même, elle retournera 1 sinon retournera 0., Dans l’exemple, la valeur pour A et B est 7, donc le résultat renvoie 1.

    Ex:-

    %set A 7 %set B 7%set result %puts $result1

    Ne (si la valeur des deux opérandes sont différents, alors il va retourner 1 sinon retourner 0)

    %set A 7 %set B 8%set result %puts $result1

    opérateur Exponentiel

    Pow () et ** les deux sont les mêmes. Il renvoie toujours une valeur flottante.

    ** indique la puissance désirée opérande.

    Ex: –

    %set A 7%set result %puts $result49

    opérateur de liste

    Si la valeur requise se trouve dans la liste définie, elle renvoie 1 sinon renvoie 0. Dans l’exemple, la valeur 1 existe dans la variable ‘a’, elle retournera donc 1.,

    set a {1 2 3}if {1 in $a} {puts "ok"} else {puts "fail"}Output: ok

    ni, si la valeur requise se trouve dans la liste définie, elle retournera 0 sinon retournera 1.

    Ex: –

    set a {1 2 3}if {1 ni $a} {puts "ok"} else {puts "fail"}Output: fail

    TCL contrôle de flux et prise de décision

    Il existe différentes commandes de contrôle de flux et de prise de décision qui sont utilisées pour modifier le flux d’un programme. Les exécutions de programmes commencent toujours du haut du fichier source vers le bas.

    If statement consiste en une expression booléenne suivie d’une ou plusieurs instructions.

    Si … l’instruction

    la Syntaxe:-

    si expr ?alors?, corps

    si expr est évaluée à true, alors le corps de la commande est exécutée.

    Ex:-

    set age 10if {$age < 20} {puts "Age is less than 20"}Output: Age is less than 20

    Si … si vous avez besoin d’une instruction, vous pouvez utiliser la syntaxe suivante: –

    Si l’expression ? puis body_1 d’autre body_2

    Si l’expression est évaluée à vrai, alors il sera de retour body_1 sinon, il sera de retour body_2

    Ex:–

    set age 10if {$age < 20} {puts "Age is less than 20"} else {Puts "Age is greater than 20"}output: Age is less than 20

    si Imbriquées..else instruction

    cela signifie Un SI ou autre..l’instruction if peut être placée dans un autre if ou else..si les déclarations.,

    la Syntaxe:-

    If {expression_1} {Body_1If {expression_2} {Body_2}}

    Ex:–

    Switch

    L’instruction switch permet une variable à être testé pour l’égalité à l’encontre d’une liste de valeurs. Il évalue la liste des valeurs et renvoie le résultat de cette évaluation. Si aucune valeur ne correspond, les valeurs par défaut seront renvoyées.

    Exemple:

    #!/usr/bin/tclsh# switch_cmd.tclset domain xswitch $domain { x { puts "x" } y { puts "y" } z { puts "z" } default { puts "unknown" }}

    Imbriqués switch

    Imbriqués instruction switch moyen de l’instruction switch à l’intérieur d’une instruction switch.,

    syntaxe: –

    exemple: dans l’exemple suivant, la valeur de a est 100, et avec le même code, nous changeons d’instruction pour une autre valeur de b est 200. La sortie sera de montrer la valeur de a et de b.

    #!/usr/bin/tclshset a 100set b 200switch $a { 100 { puts "The value of a is $a" switch $b { 200 { puts "The value of b is $b" } } } }

    Résultat:

    La valeur de a est 100

    La valeur de b est de 200

    TCL instruction Loop

    le rapport de Boucle permet d’exécuter une instruction ou un groupe d’instruction plusieurs fois. Tcl fournit les types suivants de boucle.,

    While command

    quand une condition donnée est vraie alors une instruction ou un groupe d’instruction se répète qui sont dans le corps de la boucle.

    Syntaxe:

    While {condition} { Statements}

    Ex :-

    #!/usr/bin/tclshSet a 10While {$a < 12} { Puts "a is $a" incr a}

    Résultat :

    10

    11

    Dans l’exemple ci-dessus, « incr » commande intégrée est utilisée. Cela signifie que la valeur de ‘a’ sera augmenté de 1 jusqu’à la valeur maximale (<12).

    Pour la commande

    Il exécute une séquence d’instructions plusieurs fois basée sur une valeur de compteur., Il est automatiquement augmenté ou diminué à chaque répétition de la boucle.

    syntaxe: –

    For {start} {test} {next} {Body}

    exemple: dans l’exemple ci-dessous, la valeur de ‘i’ est définie sur 0 et incrémentée jusqu’à la valeur<5.

    #!/usr/bin/tclshfor {set i 0} {$i < 5} {incr i} {put $i}

    Résultat :-

    Articles

    Laisser un commentaire

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