如何在proc(Tcl)中使用内置变量
TCL有一些内置的命令 例如如何在proc(Tcl)中使用内置变量,tcl,Tcl,TCL有一些内置的命令 例如$env(some_env_var),我将使用一些环境变量 我在proc proc pc {} { return $env(NUMBER_OF_PROCESSORS) } puts [pc] 然后我得到一个错误: $ tclsh ./t.tcl can't read "env(NUMBER_OF_PROCESSORS)": no such variable while executing "return $env(NUMB
$env(some_env_var)
,我将使用一些环境变量
我在proc
proc pc {} {
return $env(NUMBER_OF_PROCESSORS)
}
puts [pc]
然后我得到一个错误:
$ tclsh ./t.tcl
can't read "env(NUMBER_OF_PROCESSORS)": no such variable
while executing
"return $env(NUMBER_OF_PROCESSORS)"
(procedure "pc" line 2)
invoked from within
"pc"
invoked from within
"puts [pc]"
(file "./t.tcl" line 5)
$env
在proc
的范围内似乎无效
我应该如何修改
$env
以使其在proc
的范围内有效?您必须将env
数组放入您的pc
程序的范围内:
proc pc {} {
global env
return $env(NUMBER_OF_PROCESSORS)
}
或者,使用env的完整命名空间路径:
proc pc {} {
return $::env(NUMBER_OF_PROCESSORS)
}