2009-09-15 15 views
21

TCLのfooとbarの2つの変数を簡単に連結することができます: "$ {foo} $ {bar}"。Tclで文字列を簡潔に連結する方法は?

しかし、中間結果を変数に入れたくない場合は、どうすれば簡単にproc呼び出しの結果を連結できますか?これは

長針を書くことになります。

set foo [myFoo $arg] 
set bar [myBar $arg] 
set result "${foo}${bar}" 

は一時変数fooとbarを導入せずに結果を作成するためのいくつかの方法はありますか?これを行う

は私の目的のために間違っています:

concat [myFoo $arg] [myBar $arg] 

が存在しない場合、それは(リストの目的のために)二つの結果の間にスペースを紹介して。

「string concat」のように思えますが、私のTclインタープリタのバージョンには含まれていません。

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

文字列の連結は、ここについて書かれている:

答えて

29

:あなたがループ内で、この何回もやって、またはいくつかの中間コードで区切られている場合

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

だけで余分なスペースを単語としてそれを書く:

[myFoo $arg][myBar $arg] 

Tclはこれを見ています結果にかかわらず、置換後の単一の単語2つのサブコマンド。あなたは一時変数を必要とせず、二重引用符で囲まれた文字列内のコマンドを埋め込むことができ

10

、あなたは可能性があります次の点も考慮してください:

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