我对 TCL 中的变量范围有疑问,我有以下代码:
namespace eval ::hello {
variable player
variable name
namespace export *
}
proc ::hello::setPlay {value} {
set ::hello::player
}
proc ::hello::getPlay {} {
return $::hello::player
}
proc ::hello::setName {value} {
set ::hello::name
}
proc ::hello::getName {} {
return $::hello::name
}
proc GET_NAME {} {
#here I have a variable called name as well
set name "RON"
return $name
}
在 GET_NAME 中,如果我将变量名设置为“RON”,它会设置命名空间中声明的变量名吗?我可以在 GET_NAME 和命名空间中使用相同的变量名吗?如果我variable name
在 GET_NAME 中添加这一行,这是否意味着它将设置在名称空间中声明的变量?