如何将两个变量相加并将结果存储到另一个变量中?

And*_*vić 4 tcl

我无法弄清楚最基本的 Tcl 语法,编写以下内容的正确方法是什么:

set var1 5
set var2 3
set var3 $var1 - $var2; # error line

puts $var3
Run Code Online (Sandbox Code Playgroud)

sle*_*man 7

Tcl 没有数学运算语法。相反,它依赖于expr命令/函数来进行数学运算:

set var3 [expr $var1 - $var2]
Run Code Online (Sandbox Code Playgroud)

最佳实践是仅提供一个用大expr括号引用的参数,以避免出现双重替换等微妙问题:

set var3 [expr {$var1 - $var2}]
Run Code Online (Sandbox Code Playgroud)