Tcl - 決策



決策結構要求程式設計師指定一個或多個條件,由程式進行評估或測試,以及如果條件確定為真則要執行的語句或語句,以及可選地,如果條件確定為假則要執行的其他語句。

以下是大多數程式語言中常見決策結構的一般形式:

Decision Making

Tcl 語言內部使用 expr 命令,因此我們不需要顯式使用 expr 語句。

Tcl 語言提供以下型別的決策語句:

序號 語句和描述
1 if 語句

'if' 語句由一個布林表示式和一個或多個語句組成。

2 if...else 語句

'if' 語句後面可以跟一個可選的 'else' 語句,當布林表示式為假時執行。

3 巢狀 if 語句

你可以在另一個 'if' 或 'else if' 語句內使用一個 'if' 或 'else if' 語句。

4 switch 語句

switch 語句允許測試變數與值列表的相等性。

5 巢狀 switch 語句

你可以在另一個 switch 語句內使用一個 switch 語句。

?: 運算子

我們在上一章中介紹了條件運算子 ?:,它可以用來代替if...else語句。它具有以下一般形式:

Exp1 ? Exp2 : Exp3;

其中 Exp1、Exp2 和 Exp3 是表示式。注意冒號的使用和位置。

“?表示式”的值如下確定:評估 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
廣告