Tcl 使用 exec 來執行外部程式:
set var [list rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,@0,2]
exec {*}$var
這裡使用 {*} 和 exec 結合的範例。
Tcl 使用 exec 來執行外部程式:
set var [list rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,@0,2]
exec {*}$var
namespace path {::tcl::mathop ::tcl::mathfunc}
所以我們就可以這樣做:srand [clock seconds]
這樣不管是撰寫程式還是讀 code 的時候,看起來都比較具可讀性。puts [* [sqrt 49] [+ 1 2 3]]
也就是,看起來會是類似 lisp 的前序式運算法。
set x 0
proc appendMe {number} {
global x
incr x $number
}
proc appendMe2 {number} {
incr ::x $number
}
appendMe 3
puts $x
proc GetHomeDir { } {
global env
# Check if we're using windows
if { [expr [string compare "$::tcl_platform(platform)" "windows" ] == 0] } {
package require registry 1.0
set env_home [registry get {HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders} {Personal}]
set userprofile [set env(USERPROFILE)]
regsub -all {[%]USERPROFILE[%]} $env_home $userprofile env_home
} else {
set env_home $env(HOME)
}
return $env_home
}
set CookieFile [set env(USERPROFILE)]
append CookieFile {\Application Data\Opera\Opera\profile\cookies4.dat}
if {[file exists $CookieFile]==1} {
file delete $CookieFile
}