% 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"
%
以上命令无效..任何人都可以请...查找此声明的问题。
答案 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