Tcl 基于环境变量存在的条件
基于环境变量使用以下条件是否正确。还是有更好的办法 例如:Tcl 基于环境变量存在的条件,tcl,Tcl,基于环境变量使用以下条件是否正确。还是有更好的办法 例如: # Both environment variables must exist if {expr [eval {info exists env(VARIABLE_1)}] && [eval {info exists env(VARIABLE_2)}]} { # true: do something } else { # false: do something different } 单独使用info
# Both environment variables must exist
if {expr [eval {info exists env(VARIABLE_1)}] && [eval {info exists env(VARIABLE_2)}]} {
# true: do something
} else {
# false: do something different
}
单独使用
info
应该可以:
# Both environment variables must exist
if {[info exists env(VARIABLE_1)] && [info exists env(VARIABLE_2)]} {
# true: do something
} else {
# false: do something different
}
由于
info
返回一个布尔值,if
处理得很好,您不需要expr
。上述操作在我的机器上有效。尽量避免eval
。如果您认为您需要它,您可能需要简化您正在尝试的操作。还要注意,If
条件表达式已经由expr
处理,因此显式调用expr
是多余的。只要试着记住自从Tcl 8.5进入生产准备阶段以来我上次需要eval
。我相信一定有什么原因-我的一些代码真的很棘手但我现在想不起来…