变量访问语法问题

时间:2018-08-16 09:47:09

标签: tcl

在下面的代码中,访问is_online时出现错误。谁能用正确的语法帮助我?

  

错误:无法读取“ data _ $ {k”:没有此类变量。将error_info用于   更多信息。 (CMD-013)

enter image description here

2 个答案:

答案 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]