【问题标题】:How to concisely concatenate strings in Tcl?如何在 Tcl 中简洁地连接字符串?
【发布时间】:2010-11-28 15:24:42
【问题描述】:

我可以很容易地连接两个变量,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]

如果一个结果不存在,它会在两个结果之间引入一个空格(用于列表目的)。

似乎“字符串连接”是我想要的,但它似乎不在我的 Tcl 解释器版本中。

string concat [myFoo $arg] [myBar $arg]

String concat 写在这里:

【问题讨论】:

    标签: string tcl concatenation


    【解决方案1】:

    您可以在双引号字符串中嵌入命令,而无需临时变量:

    set result "[myFoo $arg][myBar $arg]"
    

    【讨论】:

      【解决方案2】:

      如果你多次这样做,在一个循环中,或者被一些中间代码分开,你也可以考虑:

      set result ""
      append result [myFoo $arg]
      append result [myBar $arg]
      append result [myBaz $arg]
      

      【讨论】:

        【解决方案3】:

        只写一个单词,没有多余的空格:

        [myFoo $arg][myBar $arg]
        

        无论两个子命令的结果如何,Tcl 都将其视为替换后的单个单词。

        【讨论】:

          猜你喜欢
          • 2011-08-19
          • 1970-01-01
          • 2014-09-18
          • 1970-01-01
          • 1970-01-01
          • 2014-07-20
          • 2010-12-18
          • 2011-04-24
          • 2019-08-14
          相关资源
          最近更新 更多