2009-09-15 4 views
21

TCL에서 foo와 bar라는 두 변수를 쉽게 연결할 수 있습니다 : "$ {foo} $ {bar}".Tcl에서 문자열을 간결하게 연결하는 방법은 무엇입니까?

그러나 중간 결과를 변수에 넣고 싶지 않으면 어떻게하면 proc를 호출 한 결과를 쉽게 연결할 수 있습니까?

긴 손이가 기록 될 것이다 :

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

임시 변수 foo는 바를 도입하지 않고 결과를 만들 수있는 몇 가지 방법이 있나요? 이렇게

내 목적을 위해 잘못된 :

concat [myFoo $arg] [myBar $arg] 

존재하지 않는 경우는 (목록 목적을 위해) 두 결과 사이에 공백을 소개한다.

'string concat'과 같은데 내가 원했던 것이지만 내 버전의 Tcl 인터프리터에는없는 것 같습니다.

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

문자열 CONCAT 여기에 대해 기록됩니다

[myFoo $arg][myBar $arg] 

티클과 같이이보고 :

답변

29

당신은 임시 변수에 대한 필요없이 이중 인용 된 문자열 내에서 명령을 포함 할 수 있습니다 :

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

그냥 별도의 공백 단어로 쓰기 결과에 관계없이 대체 후 단일 단어 f 두 개의 부속 명령.

10

루프에서,이 여러 번 수행하는 경우, 또는 중간 코드에 의해, 당신은 수 분리 다음을 고려하십시오.

set result "" 
append result [myFoo $arg] 
append result [myBar $arg] 
append result [myBaz $arg] 
관련 문제