Tcl - Decisões
As estruturas de tomada de decisão exigem que o programador especifique uma ou mais condições a serem avaliadas ou testadas pelo programa, juntamente com uma instrução ou instruções a serem executadas se a condição for determinada como verdadeira e, opcionalmente, outras instruções a serem executadas se a condição está determinado a ser falso.
A seguir está a forma geral de uma estrutura típica de tomada de decisão encontrada na maioria das linguagens de programação -
A linguagem Tcl usa o comando expr internamente e, portanto, não é necessário usarmos a instrução expr explicitamente.
A linguagem Tcl fornece os seguintes tipos de declarações de tomada de decisão -
Sr. Não. | Declaração e descrição |
---|---|
1 | declaração if Uma declaração 'if' consiste em uma expressão booleana seguida por uma ou mais declarações. |
2 | declaração if ... else Uma instrução 'if' pode ser seguida por uma instrução opcional 'else', que é executada quando a expressão booleana é falsa. |
3 | instruções if aninhadas Você pode usar uma instrução 'if' ou 'else if' dentro de outra instrução 'if' ou 'else if'. |
4 | declaração switch UMA switch declaração permite que uma variável seja testada quanto à igualdade em relação a uma lista de valores. |
5 | instruções switch aninhadas Você pode usar um switch declaração dentro de outra switch afirmações). |
O ? : Operador
Nós cobrimos conditional operator ? : no capítulo anterior, que pode ser usado para substituir if...elseafirmações. Tem a seguinte forma geral -
Exp1 ? Exp2 : Exp3;
Onde Exp1, Exp2 e Exp3 são expressões. Observe o uso e a localização do cólon.
O valor de um '? expressão 'é determinada assim: Exp1 é avaliada. Se for verdade, então Exp2 é avaliado e se torna o valor de '? expressão.' Se Exp1 for falso, então Exp3 é avaliado e seu valor se torna o valor da expressão. Um exemplo é mostrado abaixo.
#!/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"
Quando você compila e executa o programa acima, ele produz o seguinte resultado -
Value of b is 30
Value of b is 20