Tcl - Entscheidungen
Entscheidungsstrukturen erfordern, dass der Programmierer eine oder mehrere Bedingungen angibt, die vom Programm bewertet oder getestet werden sollen, zusammen mit einer Anweisung oder Anweisungen, die ausgeführt werden sollen, wenn die Bedingung als wahr bestimmt wird, und optional anderen Anweisungen, die ausgeführt werden sollen, wenn die Bedingung ausgeführt wird wird als falsch bestimmt.
Es folgt die allgemeine Form einer typischen Entscheidungsstruktur, die in den meisten Programmiersprachen zu finden ist:
Die Tcl-Sprache verwendet den Befehl expr intern und daher ist es nicht erforderlich, dass wir die expr-Anweisung explizit verwenden.
Die Tcl-Sprache bietet folgende Arten von Entscheidungserklärungen:
Sr.Nr. | Aussage & Beschreibung |
---|---|
1 | if-Anweisung Eine 'if'-Anweisung besteht aus einem Booleschen Ausdruck, gefolgt von einer oder mehreren Anweisungen. |
2 | if ... else-Anweisung Auf eine 'if'-Anweisung kann eine optionale' else'-Anweisung folgen, die ausgeführt wird, wenn der Boolesche Ausdruck falsch ist. |
3 | verschachtelte if-Anweisungen Sie können eine 'if'- oder' else if'-Anweisung in einer anderen 'if'- oder' else if'-Anweisung (en) verwenden. |
4 | switch-Anweisung EIN switch Mit der Anweisung kann eine Variable auf Gleichheit mit einer Liste von Werten getestet werden. |
5 | verschachtelte switch-Anweisungen Sie können eine verwenden switch Aussage in einem anderen switch Aussage (n). |
Das ? : Operator
Wir haben abgedeckt conditional operator ? : im vorherigen Kapitel, das zum Ersetzen verwendet werden kann if...elseAussagen. Es hat die folgende allgemeine Form -
Exp1 ? Exp2 : Exp3;
Wobei Exp1, Exp2 und Exp3 Ausdrücke sind. Beachten Sie die Verwendung und Platzierung des Doppelpunkts.
Der Wert von a '? Ausdruck 'wird wie folgt bestimmt: Exp1 wird ausgewertet. Wenn es wahr ist, wird Exp2 ausgewertet und wird zum Wert des gesamten '? Ausdruck.' Wenn Exp1 falsch ist, wird Exp3 ausgewertet und sein Wert wird zum Wert des Ausdrucks. Ein Beispiel ist unten gezeigt.
#!/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"
Wenn Sie das obige Programm kompilieren und ausführen, wird das folgende Ergebnis erzielt:
Value of b is 30
Value of b is 20