eval命令对我不起作用

时间:2013-12-25 06:23:10

标签: tcl

% set a
1
% set a
1
% set 1
puts hai
%

% puts [eval "$$a"]
invalid command name "puts hai"
%
%
%
% puts [eval [subst "$$a"]]
hai
%

在这种情况下命令

% puts [eval "$$a"]
invalid command name "puts hai"
%

以上命令无效..任何人都可以请...查找此声明的问题。

1 个答案:

答案 0 :(得分:3)

你有puts两次 - 这就是问题所在:

% set 1
puts hai

% set a
1

% eval $1; # de-reference
hai

% eval [set 1]; # another way to de-reference
hai


% eval [set $a]; # Double de-reference
hai
相关问题