Tcl - Déclaration If else

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

Syntaxe

La syntaxe d'un 'if...else'instruction en langage Tcl est -

if {boolean_expression} {
   # statement(s) will execute if the boolean expression is true 
} else {
   # statement(s) will execute if the boolean expression is false
}

Si l'expression booléenne est évaluée à true, puis le if block du code sera exécuté, sinon else block du code sera exécuté.

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

Représentation schématique

Exemple

#!/usr/bin/tclsh

set a 100

#check the boolean condition 
if {$a < 20 } {
   #if condition is true then print the following 
   puts "a is less than 20"
} else {
   #if condition is false then print the following 
   puts "a is not less than 20"
}
puts "value of a is : $a"

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

a is not less than 20;
value of a is : 100

Instruction if ... else if ... else

Un 'if'instruction peut être suivie d'une option else if...else instruction, qui est très utile pour tester diverses conditions en utilisant une instruction if ... else if unique.

Lorsque vous utilisez des instructions if, else if, else, il y a peu de points à garder à l'esprit -

  • Un 'if'peut avoir zéro ou un else's et ça doit venir après tout else if's.

  • Un 'if'peut avoir zéro à plusieurs else if's et ils doivent venir avant le else.

  • Une fois un 'else if'réussit, aucun des autres else if's ou else's sera testé.

Syntaxe

La syntaxe d'un 'if...else if...else'instruction en langage Tcl est -

if {boolean_expression 1} {
   # Executes when the boolean expression 1 is true
} elseif {boolean_expression 2} {
   # Executes when the boolean expression 2 is true 
} elseif {boolean_expression 3} {
   # Executes when the boolean expression 3 is true 
} else {
   # executes when the none of the above condition is true 
}

Exemple

#!/usr/bin/tclsh

set a 100

#check the boolean condition
if { $a == 10 } {
   # if condition is true then print the following 
   puts "Value of a is 10"
} elseif { $a == 20 } {
   # if else if condition is true 
   puts "Value of a is 20"
} elseif { $a == 30 } {
   # if else if condition is true 
   puts "Value of a is 30"
} else {
   # if none of the conditions is true 
   puts "None of the values is matching"
}

puts "Exact value of a is: $a"

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

None of the values is matching
Exact value of a is: 100