2013-01-25 63 views
1

的值,我在Tcl的以下腳本:基本的Tcl - 打印變量

set val(a) 10 
set val(b) 10 
set val(n) expr{$val(a) * $val(b)} 

如何打印變量n的值?

puts $val(n) 

expr{10*10},我需要看到100 ....

回答

6

爲了計算表達式並返回結果,你必須把eval命令方括號內,而不是試圖把它像功能:

set val(n) [expr {$val(a) * $val(b)}] 
puts $val(n) 
+0

大括號的任何原因? – user000001

+1

@ user828193是的,它允許Tcl編譯表達式,而不是每次都重新進行解析。它也避免了一些危險(例如,如果有人把'[exit]'放在'val(a)'變量中)。 –