如何在TCL中设置如下所示的变量,
输入:
set top_module "example"
set dummy_variable { $top_module {}}
puts $dummy_variable
预期产出:
example {}
我得到的实际输出
$top_module {}
您需要在设置包含变量时评估该变量替换;大括号always禁止all替换。 Tcl 真的很关心这一切的细节。
鉴于你正在处理某物的名称,而不是生产直接供人类消费的东西,你可能对此最满意:
set dummy_variable [list $top_module {}]
你可以用过这个:
set dummy_variable "$top_module {}"
但是当被替换的变量包含空格时,你会受到细微的差异(通常是错误!);
list
命令替换避免了那些。
在某些情况下,您最好这样做:
set dummy_variable [list {*}$top_module {}]
这在通过将值连接到列表上来构建列表时特别有用(当您不能只使用
lappend
时)。