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