鍍金池/ 教程/ 物聯(lián)網(wǎng)/ TCL過程
TCL內(nèi)置函數(shù)
TCL變量
TCL嵌套循環(huán)
TCL決策
TCL循環(huán)
Tcl if...else語句
Tcl教程
TCL字符串
TCL邏輯運(yùn)算符
TCL Switch語句
TCL列表
TCL運(yùn)算符優(yōu)先級(jí)
TCL數(shù)據(jù)類型
TCL環(huán)境設(shè)置
TCL正則表達(dá)式
TCL命名空間
TCL運(yùn)算符
TCL特殊變量
TCL數(shù)組
TCL算術(shù)運(yùn)算符
Tcl For循環(huán)
TCL文件I/O
TCL關(guān)系運(yùn)算符
TCL if語句
TCL命令
TCL基本語法
TCL三元運(yùn)算符
TCL continue語句
TCL嵌套if語句
TCL字典
TCL break語句
TCL包
TCL 嵌套switch語句
TCL while循環(huán)
TCL位運(yùn)算符
TCL過程
TCL錯(cuò)誤處理

TCL過程

程序是什么,只不過代碼塊的一系列命令,提供了一個(gè)可重復(fù)使用的特定功能。它被用于避免相同的代碼被重復(fù)在多個(gè)位置。程序相當(dāng)于許多編程語言中使用的功能,并提供Tcl proc命令的幫助。

創(chuàng)建一個(gè)簡(jiǎn)單程序的語法如下所示。

proc procedureName {arguments} {
   body
}

一個(gè)簡(jiǎn)單程序的例子如下。

#!/usr/bin/tclsh

proc helloWorld {} {
   puts "Hello, World!"
}
helloWorld

當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:

Hello, World!

過程的多個(gè)參數(shù)

對(duì)于程序帶參數(shù)如下圖的例子所示。

#!/usr/bin/tclsh

proc add {a b} {
   return [expr $a+$b]
}
puts [add 10 30]

當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:

40

過程的可變參數(shù)

對(duì)于程序帶參數(shù)如下圖的例子所示。

#!/usr/bin/tclsh

proc avg {numbers} {
    set sum 0
    foreach number $numbers {
      set sum  [expr $sum + $number]
	}
    set average [expr $sum/[llength $numbers]]
    return $average
}
puts [avg {70 80 50 60}]
puts [avg {70 80 50 }]

當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:

65
66

過程使用默認(rèn)參數(shù)

默認(rèn)參數(shù)是用來提供一種可如果未提供任何參數(shù)值時(shí),可以使用默認(rèn)值。對(duì)于程序用其有時(shí)稱為隱式參數(shù)默認(rèn)參數(shù),一個(gè)例子如下所示。

#!/usr/bin/tclsh

proc add {a {b 100} } {
   return [expr $a+$b]
}
puts [add 10 30]
puts [add 10]

當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:

40
110

遞歸過程

遞歸過程的示例如下所示。

#!/usr/bin/tclsh

proc factorial {number} {
   if {$number <= 1} {
      return 1
   } 
   return [expr $number * [factorial [expr $number - 1]]]

}
puts [factorial 3]
puts [factorial 5]

當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:

6
120

上一篇:TCL命名空間