TCL:连接变量和字符串

时间:2011-03-09 05:57:22

标签: tcl

假设我们将变量'a'设置为12345:

set a 12345

现在我如何设置一个新变量'b',其中包含'a'的值,另一个字符串说9876

解决方法类似于

set a "12345"
set u "9876"

set b $a$u

但我不想指定$u,而是希望使用直接字符串..

7 个答案:

答案 0 :(得分:33)

你可以这样做:

set b ${a}9876

或者,假设b设置为空字符串或未定义:

append b $a 9876

append很长时,对$a的调用效率更高(请参阅append doc)。

答案 1 :(得分:6)

其他选项是使用set命令。 以来 设置一个 给出一个值,我们可以用它来设置b的值,如下所示

设置b [设置] 9876

答案 2 :(得分:4)

或者,您可以使用format

set b [format %s%s $a $u]

答案 3 :(得分:1)

从Tcl 8.6 .2 开始,有string cat可以用来解决这个问题。

set b [string cat $a 9876]

答案 4 :(得分:0)

其他选项是使用如下的concat命令。

设置b [concat $ a \ 9876]

答案 5 :(得分:0)

我不明白你的意思直接串......我不确定你是否想...... 但是,如果您想要值12349876,则可以执行以下操作:

% set b [concat $a$u]
12349876

如果您希望$ a或$ u成为字符串的一部分,只需添加一个反斜杠' \'在所需的变量之前。

答案 6 :(得分:-2)

设置myString" Hello"

追加myString"世界"!

put" $ myString"

Hello World!