Tcl - Décisions

Les structures de prise de décision exigent que le programmeur spécifie une ou plusieurs conditions à évaluer ou à tester par le programme, ainsi qu'une ou plusieurs instructions à exécuter si la condition est jugée vraie, et éventuellement d'autres instructions à exécuter si la condition est déterminé comme étant faux.

Voici la forme générale d'une structure de prise de décision typique trouvée dans la plupart des langages de programmation -

Le langage Tcl utilise la commande expr en interne et il n'est donc pas nécessaire pour nous d'utiliser l'instruction expr explicitement.

Le langage Tcl fournit les types suivants d'énoncés de prise de décision -

Sr.No. Déclaration et description
1 si déclaration

Une instruction 'if' consiste en une expression booléenne suivie d'une ou plusieurs instructions.

2 instruction if ... else

Une instruction 'if' peut être suivie d'une instruction 'else' facultative, qui s'exécute lorsque l'expression booléenne est fausse.

3 instructions if imbriquées

Vous pouvez utiliser une instruction «if» ou «else if» dans une ou plusieurs instructions «if» ou «else if».

4 instruction switch

UNE switch L'instruction permet à une variable d'être testée pour l'égalité par rapport à une liste de valeurs.

5 instructions de commutateur imbriquées

Vous pouvez en utiliser un switch déclaration dans un autre switch déclaration (s).

Le ? : Opérateur

Nous avons couvert conditional operator ? : dans le chapitre précédent, qui peut être utilisé pour remplacer if...elsedéclarations. Il a la forme générale suivante -

Exp1 ? Exp2 : Exp3;

Où Exp1, Exp2 et Exp3 sont des expressions. Notez l'utilisation et le placement des deux points.

La valeur d'un '? expression 'est déterminé comme ceci: Exp1 est évalué. Si c'est vrai, alors Exp2 est évalué et devient la valeur de l'ensemble '? expression.' Si Exp1 est faux, Exp3 est évalué et sa valeur devient la valeur de l'expression. Un exemple est présenté ci-dessous.

#!/usr/bin/tclsh

set a 10;
set b [expr $a == 1 ? 20: 30]
puts "Value of b is $b\n"
set b [expr $a == 10 ? 20: 30]
puts "Value of b is $b\n"

Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant -

Value of b is 30
Value of b is 20