使用 Tcl 信息过程 return 值
Using Tcl info procs return value
考虑到 not_there 不是我期望的过程
[info procs not_there] eq ""
到 return 0,但我看到了
empty command name ""
有人可以解释我的概念错误吗?
你的这句话:
[info procs not_there] eq ""
将首先由 Tcl 解释器计算 info procs not_there
。接下来解释器将评估这个语句的等价物:
"" eq ""
...第一个词 ""
不是有效命令。
在 Tcl 语句中,第一个单词必须始终是命令。命令 arg arg arg...
你缺少的是在开头使用 expr
命令
expr {"" eq ""} --> 1
expr {[info procs not_there] eq ""} --> 1
顺便说一下,expr
隐含在 if
语句的条件参数中:
if {[info procs not_there] eq ""} {
puts "This is not a proc"
}
考虑到 not_there 不是我期望的过程
[info procs not_there] eq ""
到 return 0,但我看到了
empty command name ""
有人可以解释我的概念错误吗?
你的这句话:
[info procs not_there] eq ""
将首先由 Tcl 解释器计算 info procs not_there
。接下来解释器将评估这个语句的等价物:
"" eq ""
...第一个词 ""
不是有效命令。
在 Tcl 语句中,第一个单词必须始终是命令。命令 arg arg arg...
你缺少的是在开头使用 expr
命令
expr {"" eq ""} --> 1
expr {[info procs not_there] eq ""} --> 1
顺便说一下,expr
隐含在 if
语句的条件参数中:
if {[info procs not_there] eq ""} {
puts "This is not a proc"
}