2017-09-18 101 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