Chapter 03. Tcl-Special Variables
Tcl에서 변수 중 일부는 특수 변수로 분류되어 있으며, 개발자가 사용할 수있습니다.
이러한 specials 변수 목록은 다음과 같습니다.
Special Varibale | Description |
---|---|
argc | 명령줄에 대한 인수의 갯수를 의미합니다. |
argv | 명령줄 인수가 포함된 리스트를 참조합니다. |
argv0 | 스크립트 파일이름 자체를 참조합니다. |
env | 환경변수의 배열을 표시합니다. |
errorCode | Tcl에서 발생한 마지막 에러코드를 참조합니다. |
errorInfo | Tcl에서 발생한 마지막 에러에 대한 정보를 참조합니다. |
tcl_interactive | 대화형과 비대화형 모드를 전환하는데 사용됩니다. |
tcl_library | 표준 Tcl 라이브러리의 위치를 설정하는데 사용됩니다. |
tcl_pkgPath | 외부패키지가 위치하는 디렉토리의 경로 목록을 제공합니다. |
tcl_patchLevel | 현재 해석기(Interpreter)의 패치레벨을 표시합니다. |
tcl_platform | 해당 플랫폼에 대한 정보를 표시합니다. 바이트순서, 플랫폼, 운영체제버전 등에 대한 여러가지 정보를 참조합니다. |
tcl_precision | 부동소수점에 대한 정확도 정보를 제공합니다. 기본적으로 12자리에 대한 정확도를 제공합니다. |
tcl_prompt1 | 해석기(Interpreter)의 기본적인 프롬프트값을 설정합니다. |
tcl_prompt2 | 해석기의 이차적인 프롬프트값을 설정합니다. |
tcl_rcFileName | 해석기가 실행될때 자동으로 수행되는 시작파일을 지정합니다 |
tcl_traceCompile | 컴파일된 바이트코드를 추적하는데 사용됩니다. 0을 설정하면 출력이 없으며, 1값은 요약, 2값은 세부적인 사항을 표시 |
tcl_traceExec | 상기와 동일합니다. |
tcl_version | 현재 Tcl 해석기의 버전정보를 표시합니다. |
위의 특수 변수들은 Tcl 인터프리터에서 특별한 의미가 있습니다.
Tcl 특수 변수 사용 예제
특수 변수에 대한 몇 가지 예제를 살펴 보겠습니다.
Tcl Version
#!/usr/bin/tclsh
puts $tcl_version
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
8.6.6
Tcl Environment Path
#!/usr/bin/tclsh
puts $env(PATH)
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
/web/com/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/System/Tools:/usr/
local/sml/bin:/usr/local/flex/bin:/usr/local/gcc-
4.8.1/bin:/usr/share/java:.:/usr/share/java:/usr/lib/jvm/java/lib:/usr/lib/jvm/
java/jre/lib:/usr/local/bin:/usr/local/mozart/bin:/usr/local/go/bin:/usr/local/
factor/:/usr/local/groovy-2.1.7/bin:/opt/Pawn/bin/:/usr/local/icon-
v950/bin:/usr/local/lib/mono/4.0:/usr/lib64/qtC.3/bin:/usr/local/bin:/bin:/usr/
bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/Pawn/bin:/usr/local/dart/bin:/usr/loca
l/julia/usr/bin:/usr/local/julia:/usr/local/scriptbasic/bin
Tcl Package Path
#!/usr/bin/tclsh
puts $tcl_pkgPath
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
/usr/lib64/tcl8.5 /usr/share/tcl8.5 /usr/lib64/tk8.5 /usr/share/tk8.5
Tcl Library
#!/usr/bin/tclsh
puts $tcl_library
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
/usr/share/tcl8.5
Tcl Patch Level
#!/usr/bin/tclsh
puts $tcl_patchlevel
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
8.6.6
Tcl Precision
#!/usr/bin/tclsh
puts $tcl_precision
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
0
Tcl Startup File
#!/usr/bin/tclsh
puts $tcl_rcFileName
상기의 프로그램을 실행하면 다음과 같이 표시됩니다. (설치된 버전마다 다르게 표시됩니다.)
~/.tclshrc