2017-09-18 80 views
0

我想要连接一些基于字符串的变量,并且我希望它们中的每一个都在一个新行中。但是,我找不到编写代码的正确方法。这是我试过的:与TCL的新行中的连续变量

set mensaje "Error: esta atenuacion: $att dB\n" 

gset listaMensajes [concat [gget listaMensajes] "$mensaje"] 

set mensaje "Error: esta atenuacion: $att dB\n" 

gset listaMensajes [concat [gget listaMensajes] "$mensaje"] 

puts "[gget listaMensajes]" 

变量$ att在代码的不同部分采用不同的值。

我也试过:

gset listaMensajes [concat [gget listaMensajes] "\n" "$mensaje"] 

但他们没有工作;我得到的消息在同一行

回答

1

concat命令剥夺其参数之间的空白,所以这里没有太多的用处。你可能想要的是join命令。由于使用的是非标准的命令,我无法重新创建你的情况,但说foo是返回字符串列表的命令:

join [foo] \n 

返回一个字符串包含由foo返回的字符串,用连接每个字符串对的换行符。

当然,这也适用,如果你有一个变量字符串名为bar列表:

join $bar \n 

或者,如果你建立一个命令替换列表:

join [list "foo bar" "baz qux"] \n 

文档: concat, join

+0

非常感谢!这工作!在我的例子中会是gset listaMensajes [join [list“[gget listaMensajes]”“$ mensaje”] \ n] – itd