TCL:连接变量和字符串
假设变量“a”设置为12345:TCL:连接变量和字符串,tcl,Tcl,假设变量“a”设置为12345: set a 12345 现在我如何设置一个新变量'b',它包含'a'的值和另一个字符串,比如9876 解决方法类似于 set a "12345" set u "9876" set b $a$u 但是我不想指定$u,而是希望使用直接字符串。您可以执行以下操作: set b ${a}9876 % set b [concat $a$u] 12349876 或者,假设b设置为空字符串或未定义: append b $a 9876 当$a较长时,调用append
set a 12345
现在我如何设置一个新变量'b',它包含'a'的值和另一个字符串,比如9876
解决方法类似于
set a "12345"
set u "9876"
set b $a$u
但是我不想指定$u
,而是希望使用直接字符串。您可以执行以下操作:
set b ${a}9876
% set b [concat $a$u]
12349876
或者,假设b
设置为空字符串或未定义:
append b $a 9876
当
$a
较长时,调用append
更有效(请参阅)。其他选项是使用set命令。
自从
设定
给出a的值,我们可以用它来设置b的值,如下所示
set b[set a]9876其他选项是使用concat命令,如下所示
设置b[concat$a\9876]我不明白你说的直接字符串是什么意思。。。我不确定你是否想。。。 但是,如果需要12349876的值,可以执行以下操作:
set b ${a}9876
% set b [concat $a$u]
12349876
如果您希望$a或$u成为字符串的一部分,只需在所需变量之前添加反斜杠“\”。从Tcl 8.6.2开始,有字符串cat
可用于解决此问题
set b [string cat $a 9876]
或者,您可以使用
格式
set b[格式%s%s$a$u]
设置我的字符串“Hello”
附加myString“世界!”
放入“$myString”
你好,世界 嘿,特雷,回答得好。在这些情况下,使用双引号更好,还是没有任何优势?例如,
set b“${a}9876”
@Brian:Tcl不在乎,但如果它有更漂亮的格式,您可能会想这样做。如果您试图在某个内容中包含空格,则只需要进行某种分组,这取决于您是否还需要变量替换{}或“”可能需要这里还有join
命令,但据我所知,这主要是针对带字符串的字符串的。@Raj要使用join
命令,您需要创建一个列表,类似于set b[join[list$a“9876”]”之类的东西。