Tcl解除引用:如何取消引用字符串中的变量

时间:2015-01-27 03:08:18

标签: tcl dereference

我有以下情况:

% set a 20
20
% set in_word "Value of a is \$a"
Value of a is $a

现在,我想通过操作变量Value of a is 20来打印(或将此字符串设置为另一个变量),in_word

essay涵盖了类似(可能更简单的情况)的解除引用,它也与Tclers wik here相关联。那里涉及的案件具有这种性质:

% set x y
y
% set y 20
20
% set [set x]
20
%

这个案例与我的问题相似,我有一个字符串,里面有一个变量,而不是一个直接变量。我不确定如何在这种情况下将这个想法应用于我的问题。我尝试使用eval,但我没有得到我想要的效果。

2 个答案:

答案 0 :(得分:2)

您正在寻找subst命令:

puts [subst $in_word]

答案 1 :(得分:-1)

如果在“”中放置任何内容,它会解释$ args。

% set a 20
20

% set in_word "Value of a is $a"
Value of a is 20