TCL全局的可变范围

时间:2012-07-11 19:04:44

标签: tcl global

如果我设置一个局部变量来引用一个proc中的全局变量,那么子proc也可以访问变量吗?

proc function1 {} {
    global CAR

    function2
}

proc function2 {} {
    echo ${CAR}
}

2 个答案:

答案 0 :(得分:3)

没有。每个proc必须将变量重新声明为global

答案 1 :(得分:1)

您可以使用其完全限定名$::CAR访问变量,也可以使用uplevel访问其中一个调用者(调用者的调用者等)中的变量。否则你需要一个global