2011-05-06 210 views

回答

23

使用append

set result "The result is " 
append result "Earth 2, Mars 0" 
8

如果它们包含在变量中,则可以简单地编写"$a$b"

+0

我正在按照您写的一样写一个像$ {a} $ {b}之类的小差异,但我担心这不是一个正确的方法,是吗? – Narek 2011-05-06 08:30:56

+2

它们都是正确的 - 在构建字符串的情况下,您可以使用$ {a} $ {b}构造,并且可能存在对变量名称的歧义,例如set url/admin/item-edit?item_name = $ {item_id} name – TrojanName 2011-05-06 08:42:58

27

Tcl将字符串串联为基本操作;因为你只是把字符串写在一起(或者产生它们的变量替换),所以它没有真正的语法。

set combined $a$b 

如果你正在做的一个文本字符串变量的内容串联,它可以帮助把周围的变量名或用双引号括整个事情括号。或两个:

set combined "$a${b}c d" 

最后,如果您要添加一个字符串到变量的末尾,使用append命令;它的速度更快,因为它在幕后使用了智能内存管理模式。

append combined $e $f $g 
# Which is the same as this: 
set combined "$combined$e$f$g" 
+0

请注意,“append”的第一个参数是一个变量名,就像第一个参数“set”一样。 – 2011-05-07 06:25:07