我知道在正常的 tcl 脚本环境中可以像这样访问变量:
global env
puts "User: $env(USER)"
set env(IOFILE) "somefile.txt"
但这似乎在 ITCL 类方法中不起作用。如何在 ITCL 类代码中获取和设置环境变量?
Itcl 通过变量发现执行复杂操作,但您可以通过提供变量的完全限定名称来克服棘手之处(global
命令会将本地作用域中名称的最后一个组件绑定到命名变量)。 因此:
global ::env ;# <<<<<< Note this <<<<<<
puts "User: $env(USER)"
set env(FOO) "bar"