i am having a following code:
proc testList {setupFile ""} {
if {$setupFile == ""} {
set setupFile location
}
}
proc run {} {
puts "$setupFile"
}
I am getting syntax error. I know if i declare the setupFile variable outside the proc i.e in the main proc then i can append it with namespace say ::65WL::setupFile to make it global but not getting how to do that if a variable itself is defined in the proc only.
Tcl variables that are not local to a specific procedure run need to be bound to a namespace; the namespace can be the global namespace (there’s a special command for that) but doesn’t need to be. Thus, to have a variable that is shared between two procedures, you need to give it an exposed name:
Now, that’s for sharing a full variable. There are some other alternatives provided you only want to share a value. For example, these two possibilities:
There are more options with Tcl 8.6, but that’s still in beta.