admin의 아바타

Tcl의 예약된 변수

아래의 글로벌 변수는, Tcl에서 예약되어 있는 변수입니다. Readonly만 가능한 변수도 있기 때문에 주의가 필요합니다.

  • env
    배열의 각 요소는 시스템의 환경변수가 링크되어 있습니다.

  • errorCode
    에러 발생시에 에러 코드를 저장하고 있습니다.

  • errorInfo
admin의 아바타

Tcl의 스코프 (Scope)

Tcl은 프로시져의 스코프(영역)와 변수의 스코프(영역)를 독립적으로 갖고 있습니다. 즉, 프로시져 이름과 변수 이름은 같아도 상관없다는 얘기가 됩니다. 프로시져를 다른 스코프로 분리하고자 한다면, namespace 나 [incr Tcl]을 사용합니다.

프로시져의 스코프

admin의 아바타

Tcl의 리스트

리스트는 Tcl의 편리한 데이타 구조중의 하나입니다. 리스트란 중 괄호 또는 쌍따옴표("")를 사용한 공백으로 구분된 문자열의 집합입니다. 아래는 리스트를 작성한 예제이며, 두 결과는 같습니다.

% set var {사과 귤 바나나}
사과 귤 바나나
% set var "시과 귤 바나나"
시과 귤 바나나

admin의 아바타

Tcl의 소켓 (Socket)

소켓을 사용하여 네트워크를 이용한 프로세스간 통신을 할수 있습니다. 아래의 예는, 127.0.0.1(localhost) 사이로 통신을 하는 예제입니다. 클라이언트로 Send 버튼을 누르면, 서버에 “Hello!” 라고 표시해줍니다.

클라이언트

set ip 127.0.0.1
set port 1234
 
set fd [socket -myaddr $ip $ip $port]

admin의 아바타

Tcl의 네임스페이스 (Namespace)

namespace는 패키지 사이의 심볼(변수와 프로시져)의 충돌을 피하기 위한 기능입니다. 오브젝트 지향과 비슷하게 변수와 프로시져를 연결시키는데도 사용할수 있습니다. 하지만 클래스와 비슷해 보이지만, 클래스 정도의 기능은 가지고 있지 않습니다.

내용묶음