Using Variables in Associative Arrays
I ran into this problem when I tried to insert a variable into the value part of an associative array(or hash) in Tcl. Apparently, in this situation the variable substitution does not take place...
#The Variable
set ship "Enterprise"
#Make the array
array set star_trek {
location "Bridge of the $ship"
problem "Power surge"
solution "a fuse"
}
puts $star_trek(location) ;# Prints "Bridge of the $ship"
I think the '{' and '}' around the code prevents the substitution. Yeah, those brackets are very confusing in Tcl. You can get around this error with this code...
#The Variable
set ship "Enterprise"
#Make the array
set star_trek(location) "Bridge of the $ship"
set star_trek(problem) "Power surge"
set star_trek(solution) "a fuse"
puts $star_trek(location) ;# Prints "Bridge of the Enterprise"