tcl - 如何在 proc (Tcl) 中使用内置变量
问题描述
TCL 有一些内置命令。
例如$env(some_env_var)
,我将采用一些环境变量。
我用$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 范围内:
proc pc {} {
global env
return $env(NUMBER_OF_PROCESSORS)
}
或者,使用 env 的完整命名空间路径:
proc pc {} {
return $::env(NUMBER_OF_PROCESSORS)
}
推荐阅读
- spring-boot-chaos-monkey - spring-boot-chaos-monkey - 在同一应用程序的多个实例上更改 assualts/watcher 配置
- apache - 极限挑战失败。来自 http://service.domain1.com/.well-known/acme-challenge/xWsuGIi0JmuEuDzS5qPkVX3oHuzY2kNl0YGoU6HltRg 的无效响应
- python - 如何获得 groupby 组内的平均事务数?
- azure-devops - Azure DevOps 在赛普拉斯测试管道中获得 403(禁止)
- rest - 在 RESTful API 中识别单个资源的多种方法
- pandas - Writing data frame with object dtype to HDF5 only works after converting to string
- selenium - XPath ElementNotVisibleError SeleniumBasic ChomeDriver AutoHotkey ahk
- javascript -
- php - php curl获取角度页面
- c - 为什么我的代码只在我使用 printf 时运行?