tcl中棘手的var验证

tcl中棘手的var验证,tcl,Tcl,我有一个变量存在与否取决于我的输入 因此,我提出了一个假设: if { [info exists $var1] } { puts "Here we are, Born to be kings, We're the princes of the universe ..." } 但当我启动脚本时,我会得到错误日志: can't read "var1": no such variable while executing "info exists $var1" 错在哪里?如果{[info e

我有一个变量存在与否取决于我的输入 因此,我提出了一个假设:

if { [info exists $var1] } {
    puts "Here we are, Born to be kings, We're the princes of the universe ..."
}
但当我启动脚本时,我会得到错误日志:

can't read "var1": no such variable
while executing
"info exists $var1"

错在哪里?

如果{[info exists var1]}{…


在调用之前,变量被替换,
info
也不例外。因此,请传递变量的名称,而不是它的值。

我想我们需要一个wiki页面来解决这个问题。您在第二次回答另一个问题时指出的内容非常有用,当我开始使用Tcl时,花了一段时间我明白这个概念,但现在我喜欢它。