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