我有一些通过在命令行调用中定义变量来执行的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"
我不熟悉tclsh上的-def选项.
但是,要检查是否设置了变量,而不是使用"catch",您还可以使用"info exists":
if { ![info exists blah] } {
set blah default_value
}
Run Code Online (Sandbox Code Playgroud)