如何设置Tcl变量的默认值?

0 variables tcl

我有一些通过在命令行调用中定义变量来执行的Tcl脚本:

$ tclsh84 -cmd <script>.tcl -DEF<var1>=<value1> -DEF<var2>=<value2>
Run Code Online (Sandbox Code Playgroud)

有没有办法检查var1和var2是否未在命令行中定义,然后为它们分配一组默认值?

我尝试了关键字global,variable和set,但是当我说"if {$<var1>==""}":"can't read <var1>: no such variable"

Roa*_*alt 5

我不熟悉tclsh上的-def选项.

但是,要检查是否设置了变量,而不是使用"catch",您还可以使用"info exists":

if { ![info exists blah] } {
  set blah default_value
}
Run Code Online (Sandbox Code Playgroud)