在下面的代码中,访问is_online
时出现错误。谁能用正确的语法帮助我?
错误:无法读取“ data _ $ {k”:没有此类变量。将error_info用于 更多信息。 (CMD-013)
答案 0 :(得分:2)
通常,当您有一个类似的复杂名称时,最好使用upvar
为它创建一个别名,以便您可以使用一个简单的名称来对其进行操作:< / p>
# The ‘0’ is for “current stack level”
upvar 0 data_${k}_store datastore
# Now any operation on ‘datastore’ is forwarded to data_${k}_store
puts $datastore
答案 1 :(得分:1)
是的,您正在尝试引用其名称实际上是动态的变量,并且由于使用的是大括号,因此内部$ {k}不会得到求值。因此,除了此
${data_${k}_store}
尝试
[set data_${k}_store]