Tcl - 過程



過程只不過是一系列命令的程式碼塊,提供特定可重用的功能。它用於避免在多個位置重複相同的程式碼。過程相當於許多程式語言中使用的函式,並藉助於proc命令在Tcl中提供。

建立簡單過程的語法如下所示:

proc procedureName {arguments} {
   body
}

下面是一個簡單的過程示例:

#!/usr/bin/tclsh

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

執行上述程式碼後,將產生以下結果:

Hello, World!

帶多個引數的過程

帶引數的過程示例如下所示:

#!/usr/bin/tclsh

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

執行上述程式碼後,將產生以下結果:

40

帶可變引數的過程

帶引數的過程示例如下所示:

#!/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 }]

執行上述程式碼後,將產生以下結果:

65
66

帶預設引數的過程

預設引數用於提供預設值,如果未提供值,則可以使用這些預設值。下面是一個帶預設引數的過程示例,有時也稱為隱式引數:

#!/usr/bin/tclsh

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

執行上述程式碼後,將產生以下結果:

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]

執行上述程式碼後,將產生以下結果:

6
120
廣告
© . All rights reserved.