본문으로 바로가기

Tcl의 info

category 카테고리 없음 2024. 4. 18. 10:57

Tcl에는 디버그시 도움이 되는 info 커맨드가 있습니다. (Tk에는 winfo 커맨드가 있습니다.) info 커맨드는, Tcl 인터프리터 내부의 각종 정보를 조사하는 데 사용합니다.

info 커맨드 설명

info args procname procname으로 지정한 프로시져의 인자를 리턴합니다.
info body procname procname으로 지정한 프로시져의 body를 리턴합니다.
info cmdcount 인터프리터가 생성된후의 실행된 커맨드 횟수를 리턴합니다.
info commands ?pattern ? pattern으로 지정한 패턴의 커맨드 이름 혹은 프로시져 이름을 현재의 namespace로부터 검색하여 리턴합니다. pattern을 생략시는 모든 커맨드를 리턴합니다. pattern에는 Foo::print* 와 같이 namespace를 지정하는 것도 가능합니다. pattern에는 glob 스타일의 정규표현이 사용될 수 있습니다.
info complete command command로 지정한 커맨드가 정상 종료인지 아닌지를 조사합니다. 정상종료는 1, 그렇지 않다면 0을 리턴합니다.
info default procname arg varname procname으로 지정한 프로시져의 arg로 지정한 인자가 디폴트(default) 인자를 갖는지 아닌지를 검사합니다. 디폴트 인자를 갖는다면 1을, 그렇지 않다면 0을 리턴합니다. 디폴트 인자의 값은 varname에 저장됩니다.
info exists varname varname으로 지정한 변수가 존재하는지 아닌지를 검사합니다. 존재하면 1을, 그렇지 않다면 0을 리턴합니다.
info globals ?pattern ? pattern으로 지정한 패턴의 글로벌 변수명을 검색하여 리턴합니다. pattern이 생략되면 모든 글로벌 변수명을 리턴합니다.
info hostname 실행중인 호스트의 이름을 리턴합니다.
info level ?number ? 현재 프로시져의 스택 레벨을 리턴합니다. 0은 탑(top)레벌의 의미입니다. number에 수를 지정하면 그 스택레벨에서 호출된 프로시져의 이름과 인자를 리턴합니다.
info library Tcl 라이브러리의 패스를 리턴합니다. 변수 tcl_library로 패스를 설정할 수 있습니다.
info locals ?pattern ? pattern으로 지정한 패턴의 지역변수를 검색하여 리턴합니다. pattern을 생략한 경우는 모든 지역변수를 리턴합니다.
info nameofexecutable 어플리케이션의 바이너리 이름을 풀패스로 리턴합니다.
info patchlevel Tcl의 패치 레벨을 리턴합니다. tcl_patchLevel과 같은 값입니다.
info procs ?pattern ? pattern으로 지정한 패턴의 프로시져 이름을 검색하여 리턴합니다. pattern을 생략시 모든 프로시져의 이름을 리턴합니다.
info script 실행중인 스크립트의 이름을 리턴합니다. 빈 경우도 있습니다.
info sharedlibextension 공유 라이브러리의 확장자를 리턴합니다. (예: dll)
info tclversion Tcl의 버전을 리턴합니다. 변수 tcl_version과 같은 값입니다.
info vars ?pattern ? pattern으로 지정한 패턴의 변수명을 현재 namespace로부터 검색하여 리턴합니다. pattern을 생략시 모든 변수명을 리턴합니다. 검색 대상의 변수명에는 현재 스코프의 지역변수도 포함됩니다. pattern에느 Foo::option* 과 같이 namespace를 지정하는 것도 가능합니다.