Tcl - Declaração If else

A if declaração pode ser seguida por um opcional else instrução, que é executada quando a expressão booleana é falsa.

Sintaxe

A sintaxe de um 'if...else'declaração na linguagem Tcl é -

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

Se a expressão booleana for avaliada como true, então o if block do código será executado, caso contrário else block de código será executado.

A linguagem Tcl usa o expr comando internamente e, portanto, não é necessário usarmos expr declaração explicitamente.

Diagrama de fluxo

Exemplo

#!/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"

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

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

A instrução if ... else if ... else

A 'if'declaração pode ser seguida por um opcional else if...else , que é muito útil para testar várias condições usando uma única instrução if ... else if.

Ao usar instruções if, else if, else existem alguns pontos a serem considerados -

  • A 'if'pode ter zero ou um else's e deve vir depois de qualquer else if's.

  • A 'if'pode ter de zero a muitos else if's e eles devem vir antes do else.

  • Uma vez por 'else if'tem sucesso, nenhum dos restantes else if's ou else's será testado.

Sintaxe

A sintaxe de um 'if...else if...else'declaração na linguagem Tcl é -

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 
}

Exemplo

#!/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"

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

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