位置:首頁 > 腳本語言 > Tcl教學 > TCL決策

TCL決策

決策結構需要程序員指定的一個或多個條件進行評估,或由程序進行測試,如果條件被確定為真以及一條或多條語句,任選的其它語句,如果條件被確定為假則被執行。

以下是在大多數編程語言中找到的典型決策結構的一般形式:

Decision Making

TCL語言使用expr內部命令,因此它為我們聲明使用expr的聲明不是必需的。

TCL語言提供了以下幾種類型的決策語句。

語名 描述
if語句 if語句包含一個布爾表達式後跟一個或多個語句。
if...else語句 if語句可以跟著一個可選的else語句,當else執行時,布爾表達式是假。
內嵌if語句 可以使用一個if 或else if 裡麵再聲明 if 或 else if 語句(S)。
switch語句 switch語句可以讓一個變量對值列表相等進行測試。
內嵌switch語句 可以使用一個switch語句在另一個switch語句中。

 ? : 操作符

我們已經覆蓋條件操作符 ? :在前麵的章節中可以用它來代替 if ... else語句。以下是它的一般形式:

Exp1 ? Exp2 : Exp3;

計算Exp1,Exp2和Exp3表達式。注意使用和放置。

a的值?表達是確定這樣:Exp1計算評估。如果是真的,那麼Exp2後進行評估計算,並成為整個的值?表達式。如果計算Exp1是假的,那麼Exp3計算它的值變為表達式的值。一個例子如下所示。

#!/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" 

當編譯和執行上麵的程序,將會產生以下結果:

Value of b is 30
Value of b is 20