[TCL] Tcl 언어 기초 강좌 (1)

5232 단어 디지털 백 엔 드
                                            Tcl 언어 참조 (1)
 
       Tcl ("Tool Command Language", 즉 도구 명령 언어, Tcl "발차 기", "tickle"로 읽 기) 은 확장 하기 쉬 운 스 크 립 트 언어 로 실제 패키지 입 니 다.
두 부분 을 포함 합 니 다. 하나의 언어 와 하나의 라 이브 러 리 입 니 다.
       우선, Tcl 은 간단 한 스 크 립 트 언어 로 텍스트 편집기, 디 버 거, 셸 과 같은 대화 프로그램 에 명령 을 내 리 는 데 사 용 됩 니 다.그것 은 간단 하 다.
Tcl 은 내장 명령 의 능력 을 향상 시 키 기 위해 새로운 과정 을 만 들 수 있 습 니 다.
그 다음으로 Tcl 은 라 이브 러 리 패키지 입 니 다. 프로그램 에 끼 워 넣 을 수 있 습 니 다. Tcl 라 이브 러 리 는 분석 기 를 포함 하고 내 장 된 명령 을 수행 하 는 루틴 과 확장 할 수 있 습 니 다.
(새로운 과정 을 정의 합 니 다) 라 이브 러 리 함수 입 니 다.응용 프로그램 은 Tcl 명령 을 만 들 고 실행 할 수 있 으 며 명령 은 사용자 가 만 들 수도 있 고 사용자 인터페이스의 입력 에서 읽 을 수도 있 습 니 다.
가 져 오기 (단추 나 메뉴 등).
       Tcl 은 다른 프로 그래 밍 언어, 예 를 들 어 C 와 달리 컴 파일 언어 가 아 닌 해석 언어 입 니 다.Tcl 프로그램 은 일련의 Tcl 명령 으로 구성 되 어 있 으 며, 실행 할 때 Tcl 에서 설명 합 니 다.
기계 해석 운행.
       Tcl 은 C/C++ 로 작 성 된 확장 기능 이 많아 서 Tcl 자체 가 가지 고 있 지 않 은 기능 을 제공 합 니 다.그 중에서 가장 광범 위 하 게 사용 되 는 확장 은 TK 이 고 TK 는 각종 OS 플랫폼 을 제공 합 니 다.
의 그래 픽 사용자 인터페이스 GUI (강력 한 Python 언어 조차도 자신의 GUI 를 따로 제공 하지 않 고 TK 에 적합 한 인 터 페 이 스 를 제공한다).또 다른 유행 하 는 확장 팩 은 Exp -
ect, 터미널 을 통 해 명령 을 자동 으로 실행 하 는 능력 을 제공 합 니 다. 예 를 들 어 passwd, ftp, telnet 등 명령 으로 구동 되 는 케이스 입 니 다.
 
1. Tcl 프로그램 기본 구조
     1. 기본 문법
       Tcl 은 셸 과 유사 한 문법 이 있 습 니 다. 하나의 Tcl 명령 문자열 은 하나 이상 의 명령 을 줄 바 꿈 이나 번호 로 구분 하 는 것 을 포함 하고 있 습 니 다. 모든 명령 은 하나의 도 메 인 (field) 의 집합 을 포함 하고 도 메 인 은 공백 (빈 칸 또는 TAB) 으로 나 뉘 어 있 습 니 다. 첫 번 째 도 메 인 은 명령 의 이름 글자 이 고 다른 것 은 매개 변수 로 전 달 됩 니 다.Tcl 해석 기 는 하나의 명령 에 대한 값 을 구 하 는 과정 을 두 부분 으로 나 누 었 다. 분석 과 집행 이다.분석 단계 에서 Tcl 해석 기 는 규칙 을 활용 하여 명령 을 식별 하고 명령 을 하나의 독립 된 단어 로 나 누 어 필요 한 교체 (substitution) 를 한다.실행 단계 에서 Tcl 해석 기 는 첫 번 째 단 어 를 명령 명 으로 사용 하고 이 명령 에 정의 가 있 는 지 확인 합 니 다. 정의 가 있 으 면 이 명령 에 대응 하 는 C/C + 과정 을 활성화 하고 모든 단 어 를 매개 변수 로 명령 과정 에 전달 하여 명령 과정 을 처리 합 니 다.
       Tcl 의 명령 명 은 내장 명령 일 수도 있 고 사용자 가 만 든 새 명령 일 수도 있 습 니 다. 프로그램 에서 함수 Tcl 을 사용 할 수 있 습 니 다.Create Command 에서 새 명령 을 만 듭 니 다.모든 매개 변 수 를 문자열 로 전달 하고 필요 한 매개 변 수 를 설명 하 라 고 명령 합 니 다.또한 Tcl 에 대한 설명 은 특별한 요구 가 있 습 니 다. '#' 는 Tcl 해석 기 가 원 하 는 명령 의 첫 번 째 문자 가 나타 나 야 주석 으로 사 용 됩 니 다.예 를 들 면:
set a 100           # Not a comment

set b 101 ;         # this is a comment

       첫 번 째 예 에서 '\#' 과 그 뒤의 내용 은 주석 이 아 닌 set 의 매개 변수 로 여 겨 져 매개 변수 개수 가 잘못 되 었 습 니 다.그러나 두 번 째 는 주석 으로 해석 되 었 습 니 다. '\#' 앞 에 분점 이 있 고 분점 은 줄 을 바 꾸 는 것 과 마찬가지 로 명령 의 구분자 로 여 겨 집 니 다.
발걸음 명령:
(1) eval 명령
       eval 명령 은 TCL 스 크 립 트 를 구성 하고 실행 하 는 명령 입 니 다. 문법 은 다음 과 같 습 니 다.
eval arg arg ...

       하나 이상 의 인 자 를 받 은 다음 모든 인 자 를 빈 칸 으로 나 누 어 하나의 스 크 립 트 로 만 든 다음 이 스 크 립 트 에 값 을 구 할 수 있 습 니 다.
 
(2) source 명령
       source 명령 은 파일 을 읽 고 이 파일 의 내용 을 스 크 립 트 로 값 을 구 합 니 다.예 를 들 면:
source e:/tcl&c/hello.tcl

       경로 설명 은 유 닉 스 와 같 아야 합 니 다. '\' 가 아 닌 '/' 를 사용 해 야 합 니 다.
 
     2. 교환 (대체)
set x 10

set y 100 + x

       위의 명령 이 실 행 된 후 Y 의 값 은 우리 가 원 하 는 110 이 아 닌 '100 + x' 입 니 다. 이것 은 Tcl 해석 기 가 명령 을 분석 할 때 모든 명령 인 자 를 문자열 로 보기 때문에 x 는 문자열 '100 + x' 로 간 주 됩 니 다.의 일부분 입 니 다. x 의 값 '10' 을 사용 하려 면 Tcl 해석 기 에 알려 야 합 니 다. 문자 'x' 가 아 닌 변수 x 의 값 을 원 합 니 다. Tcl 해석 기 를 어떻게 알려 드릴 까요? 이것 은 Tcl 언어 에서 제공 하 는 교환 기능 을 사용 해 야 합 니 다. Tcl 은 세 가지 형식의 교환 을 제공 합 니 다. 변수 교환, 명령 교환, 역 슬 래 쉬 바 를 제공 합 니 다. 모든 교환 은 하나 이상 의 단 어 를 가 져 올 수 있 습 니 다.그 자 체 는 다른 값 으로 대 체 됩 니 다. 명령 명 을 포함 한 모든 단어 에서 발생 할 수 있 으 며, 바 꾸 면 끼 워 넣 을 수 있 습 니 다.
(1) 변수 교체 (변수 대체)
       변 수 는 전체 65284 기호 로 표 시 됩 니 다. 변 수 를 바 꾸 면 변수 (식별 자) 자체 가 문자열 에 삽입 되 지 않 고 변수의 값 을 가 져 올 수 있 습 니 다.
set x 10

set y 100 + $x

 
       이때 Y 의 값 은 우리 가 원 하 는 값 110 이 아니 라 10 + 100 입 니 다. Tcl 해석 기 는 10 + 100 을 표현 식 이 아 닌 문자열 로 보기 때 문 입 니 다. y 가 값 110 을 얻 으 려 면 명령 으로 바 꿔 야 합 니 다. Tcl 은 10 + 100 을 표현 식 으로 보고 값 을 구 합 니 다.
 
(2) 명령 교체 (명령 대체)
       명령 을 바 꾸 는 것 은 [] 로 묶 은 Tcl 명령 과 그 매개 변수 입 니 다. 명령 을 바 꾸 면 특정한 명령 의 모든 단어 나 일부 단어 (매개 변수) 가 다른 명령 의 결과 로 대 체 됩 니 다.
set x 10

set y [expr 100+$x]

       이 때 y 의 값 은 110 입 니 다. Tcl 해석 기 가 문자 '[' 를 만 났 을 때 다음 expr 를 명령 명 으로 하여 expr 에 대응 하 는 C/C + 과정 을 활성화 시 키 고 expr 명령 에서 변 수 를 바 꾼 후 얻 은 '10 + 110' 을 명령 과정 에 전달 합 니 다. [] 에 서 는 합 법 적 인 Tcl 스 크 립 트 가 있어 야 합 니 다. 길이 가 제한 되 지 않 습 니 다. []스 크 립 트 의 값 은 마지막 명령 의 반환 값 입 니 다. 예 를 들 어:
 
       명령 이 바 뀌 면 실제로 명령 사이 에 끼 워 넣 을 수 있 음 을 나타 낸다. 즉, 명령 의 결 과 는 다른 명령 의 매개 변수 로 사용 할 수 있다.
 
(3) 역 슬 래 시 교체 (backslash subtitution)
       Tcl 언어 에서 의 역 슬 래 쉬 바 꾸 기 는 C 언어 에서 의 역 슬 래 쉬 바 꾸 기 와 유사 한 용법 으로 단어 기호 에 줄 바 꾸 기, 빈 칸, [, $등 Tcl 해석 기 에 의 해 특수 기호 로 취급 되 는 문 자 를 삽입 하 는 데 사 용 됩 니 다. 예 를 들 어:
set msg multiple\ space

       '\' 가 없 으 면 Tcl 이 오 류 를 보고 합 니 다. 해석 기 가 마지막 두 단어 사이 의 빈 칸 을 구분자 로 생각 하기 때문에 set 명령 이 두 개의 인자 보다 많아 서 오 류 를 보고 합 니 다. '\' 를 추가 하면 빈 칸 은 구분자 로 간주 되 지 않 고 'multiple space' 는 하나의 단어 (word) 로 여 겨 집 니 다.
(4) 따옴표 와 괄호
       역 슬 래 쉬 바 를 사용 하 는 것 외 에 Tcl 은 해석 기 가 구분자 와 교체 문자 등 특수 문 자 를 일반 문자 로 처리 하지 않 고 다른 두 가지 방법 을 제공 합 니 다.
따옴표 와 꽃 괄호 ({}) 를 사용 해 야 합 니 다. Tcl 해석 기 는 따옴표 의 여러 구분자 에 대해 서 는 처리 하지 않 지만, 줄 바 꿈 과 [] 두 가지 치환 자 는 평소 대로 처리 합 니 다. 괄호 에 서 는 모든 특수 문자 가 일반 문자 가 되 어 특별한 의 미 를 잃 습 니 다. Tcl 해석 기 는 특별한 처 리 를 하지 않 습 니 다.
 

좋은 웹페이지 즐겨찾기