Tcl - Decisioni
Le strutture decisionali richiedono che il programmatore specifichi una o più condizioni che devono essere valutate o testate dal programma, insieme a una o più istruzioni da eseguire se la condizione è determinata essere vera e, facoltativamente, altre istruzioni da eseguire se la condizione è determinato a essere falso.
Di seguito è riportata la forma generale di una tipica struttura decisionale presente nella maggior parte dei linguaggi di programmazione:
Il linguaggio Tcl utilizza internamente il comando expr e quindi non è necessario che utilizziamo esplicitamente l'istruzione expr.
Il linguaggio Tcl fornisce i seguenti tipi di dichiarazioni decisionali:
Sr.No. | Dichiarazione e descrizione |
---|---|
1 | istruzione if Un'istruzione "if" consiste in un'espressione booleana seguita da una o più istruzioni. |
2 | if ... else dichiarazione Un'istruzione "if" può essere seguita da un'istruzione "else" opzionale, che viene eseguita quando l'espressione booleana è falsa. |
3 | istruzioni if annidate Puoi utilizzare un'istruzione "if" o "else if" all'interno di un'altra istruzione "if" o "else if". |
4 | istruzione switch UN switch consente di verificare l'uguaglianza di una variabile rispetto a un elenco di valori. |
5 | istruzioni switch annidate Puoi usarne uno switch dichiarazione dentro un'altra switch dichiarazione (i). |
Il ? : Operatore
Abbiamo coperto conditional operator ? : nel capitolo precedente, che può essere utilizzato per sostituire if...elsedichiarazioni. Ha la seguente forma generale:
Exp1 ? Exp2 : Exp3;
Dove Exp1, Exp2 e Exp3 sono espressioni. Notare l'uso e il posizionamento dei due punti.
Il valore di un '? espressione 'è determinata in questo modo: Exp1 viene valutato. Se è vero, allora Exp2 viene valutato e diventa il valore dell'intero '? espressione.' Se Exp1 è falso, viene valutato Exp3 e il suo valore diventa il valore dell'espressione. Di seguito è mostrato un esempio.
#!/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 compili ed esegui il programma sopra, produce il seguente risultato:
Value of b is 30
Value of b is 20