TCL 设置变量

问题描述 投票:0回答:1

如何在TCL中设置如下所示的变量,

输入:

set top_module "example"

set dummy_variable { $top_module {}}

puts $dummy_variable

预期产出:

example {}

我得到的实际输出

$top_module {}
tcl
1个回答
0
投票

您需要在设置包含变量时评估该变量替换;大括号always禁止all替换。 Tcl 真的很关心这一切的细节。

鉴于你正在处理某物的名称,而不是生产直接供人类消费的东西,你可能对此最满意:

set dummy_variable [list $top_module {}]

可以用过这个:

set dummy_variable "$top_module {}"

但是当被替换的变量包含空格时,你会受到细微的差异(通常是错误!);

list
命令替换避免了那些。


在某些情况下,您最好这样做:

set dummy_variable [list {*}$top_module {}]

这在通过将值连接到列表上来构建列表时特别有用(当您不能只使用

lappend
时)。

© www.soinside.com 2019 - 2024. All rights reserved.