首页 > 解决方案 > 从 TCL 变量中获取值

问题描述

我在 TCL 中有一行:

set val A_$Name*10 

在哪里

$Name = "B"

当我做:

puts $val

我明白了

"A_B*10"

如何获得 A_B * 10 的实际值?谢谢

标签: tcl

解决方案


你不能set像那样在赋值中做数学运算符。使用expr命令来做到这一点。

你也在做双重替换。首先从 Name 到 B,其次从 A_B 到它的值。使用set一个参数来获取 var 名称的值,是进行双重替换的好方法。

set A_B 10
set Name B

set val [expr [set A_$Name] * 10]    --> 100

推荐阅读