Langage tcl › les opérateurs en Tcl

Les opérateurs sont utilisés la plupart du temps pour comparer deux valeurs, deux variables, ou chaines de caractères.

Un opérateur est un symbole qui informe l'interpréteur d'exécuter telle ou telle manipulation. Le langage TCL est riches en opérateurs qui peuvent se diviser en 5 catégories :

LES OPERATEURS ARITHMETIQUES

soit deux variables A qui contient la valeur 10 et B  un autre variable qui contient la valeur 20 comme ceci :

set a 10
set b 20

Il existe 5 opérateurs aritthmétiques qui sont :

  • Addition de deux valeurs
set c [expr a + b]
puts $c

le résultat sera 30

  • Soustraction de deux valeurs
set c [expr a - b]
puts $c

Le résultat sera -10

  • Multiplication de deux valeurs
set c [expr a * b]
puts $c

Le résultat sera 200

  • Division de deux valeurs
set c [expr b / a]
puts $c

Le résultat sera 2

  • Modulo de 2 valeurs
set c [expr b % a]
puts $c

Le résultat sera 0

Une utilisation intéressante de cette fonction réside dans le fait de boucler  une valeur sur elle même.

Je m'explique par un exemple :

J'ai un bouton, lorsque je clique dix fois dessus je voudrais qu'a chaque clic, je fasse evoluer une variable comme ceci :

  1. clic 1 valeur de $mavariable = 1
  2. clic 2 valeur de $mavariable = 2
  3. clic 3 valeur de $mavariable = 0
  4. clic 4 valeur de ma variable = 1
  5. clic 5 valeur de $mavariable = 2
  6. clic 6 valeur de $mavariable = 0 etc....

Voici le code pour réaliser cela avec un modulos :

set c [[expr c + 1] % 3]
puts $c

3 signifie 3 états possible.

 

LES OPERATEURS DE RELATION

Les opérateurs de relation sont là pour comparer deux valeurs. Il en existe 6 sortes en tcl :

  • le signe == : signifie que deux valeurs sont égales
  • le signe != : Signifie que deux valeur ne sont pas égales
  • le signe > : signifi supérieur à
  • Le signe < : Signifie inférieur à
  • Le signe >= : signifie supérieur ou égal à
  • Le signe <= : signifie inférieur ou égal à

LES OPERATEURS LOGIQUES

Les opérateurs logiques interviennent dans la logique combinatoire.  Ils sont au nombre de 3 :

  • le ET logique AND représenté par && en TCL.
  • le OU logique OR représenté par || en TCL
  • le NON logique NOT représenté par ! en TCL.

Un petit exemple de l'utilisation du NON logique :

Si la fenêtre .bobi n'existe pas alors j'affiche le texte "y'a pas!" dans un terminal. Voici le code :

if {![winfo] exist .bobi} {puts "y'a pas"}

OPERATION SUR LES BITS

Plus spécialisé sur les opérations binaires, ces operateurs sont au nombre de 5 :

  • & : un ET logique sur deux valeurs
  • | : OU logique
  • ^ :XOR logique
  • << : Déplacement d'un bit vers la gauche
  • >> : Déplacement à droite d'un bit.