2012-10-23 4 views
0

나는 TCL을 처음 사용했기 때문에 중간 결과를 화면에 반환하지 않고 스크립트를 실행하고 싶습니다 (그렇게하지 않는 한). TCL에서 자동 반환을 중지하는 방법? 나 간단한 예TCL에서 자동 리턴을 피하는 방법

set a 10 

이 반환 '10'화면에 다시 내 질문을 물어 보자. 명령 실행 후이 자동 리턴을 중지하는 방법을 알고 싶습니다.

감사합니다.

+0

나는 당신이 의미하지 않는 한''set 10 ''이 어떻게 인쇄되는지 모르겠습니다. 쉘을 사용 중입니다 ... –

+0

대화식으로 사용해야합니다. Tcl 대화 형 셸은 각 [complete] (http://www.tcl.tk/man/tcl8.6/TclCmd/info.htm#M10) 타이핑 라인 다음에 결과의 내용을 인쇄합니다. 비대화 형 코드는 그렇지 않습니다. –

답변

2
proc main {} { 
    return 
} 
main 

tclsh test.tcl : 그 정말로 아무것도 인쇄 할 것이다. 그러나 어느 쪽도 스크립트에는 set a 10 만 포함됩니다. REPL 스타일 인터페이스 (read, eval, print, loop)를 실행하는 인터프리터 인터프리터와 스크립트를 평가하는 비 인터프리터 인터프리터의 차이점을 탐구해야한다.

대화식 세션에서는 출력을 억제하기 위해 줄 끝 부분에 정크 명령을 추가 할 수 있습니다. 예를 들어 큰 문자열을 읽어야 할 경우 - 콘솔에 출력되지 않도록하려면 다음을 사용할 수 있습니다 : set data [read $filehandle]; string length $data

+0

정보를 제공해 주셔서 감사합니다. 예, 쉘을 사용하여 스크립트를 구현했습니다. –

관련 문제