String 如何在Tcl中简洁地连接字符串?
我可以很容易地连接两个变量foo和bar,如下在Tcl中所示:${foo}${bar} 但是,如果我不想将中间结果放入变量中,如何轻松地连接调用某个proc的结果 长话短说,应该这样写:String 如何在Tcl中简洁地连接字符串?,string,tcl,concatenation,String,Tcl,Concatenation,我可以很容易地连接两个变量foo和bar,如下在Tcl中所示:${foo}${bar} 但是,如果我不想将中间结果放入变量中,如何轻松地连接调用某个proc的结果 长话短说,应该这样写: set foo [myFoo $arg] set bar [myBar $arg] set result "${foo}${bar}" 有没有办法在不引入临时变量foo和bar的情况下创建结果 就我的目的而言,这样做是不正确的: concat [myFoo $arg] [myBar $arg] 因为它在两个
set foo [myFoo $arg]
set bar [myBar $arg]
set result "${foo}${bar}"
有没有办法在不引入临时变量foo和bar的情况下创建结果
就我的目的而言,这样做是不正确的:
concat [myFoo $arg] [myBar $arg]
因为它在两个结果之间引入了一个空格(用于列表目的),如果其中一个结果不存在
看起来‘stringconcat’是我想要的,但在我的Tcl解释器版本中似乎没有
string concat [myFoo $arg] [myBar $arg]
字符串concat写在这里:
[myFoo $arg][myBar $arg]
Tcl将其视为替换后的单个单词,而不管两个子命令的结果如何。您可以在双引号字符串中嵌入命令,而无需临时变量:
set result "[myFoo $arg][myBar $arg]"
如果您在循环中多次执行此操作,或者由一些中间代码分隔,您还可以考虑:
set result ""
append result [myFoo $arg]
append result [myBar $arg]
append result [myBaz $arg]