문제

tcl에서 다음과 같이 "$ {foo} $ {bar}"에서 다음과 같이 두 가지 변수라는 두 변수를 쉽게 연결할 수 있습니다.

그러나 중간 결과를 변수에 넣고 싶지 않다면 일부 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]

문자열 concat은 여기에 작성되었습니다.

도움이 되었습니까?

해결책

임시 변수가 필요하지 않고 두 배로 인용 된 문자열 내에 명령을 포함시킬 수 있습니다.

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

다른 팁

이 작업을 여러 번, 루프로 또는 일부 중간 코드로 분리하는 경우 다음을 고려할 수도 있습니다.

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

여분의 공간이없는 단어로 작성하십시오.

[myFoo $arg][myBar $arg]

TCL은 두 하위 명령의 결과에 관계없이 대체 후 단일 단어로 본다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top