You are here

[강좌] Tcl/Tk 기초

Tcl/Tk의 기초 지식을 다룹니다.

admin의 아바타

Tcl의 스코프 (Scope)

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

프로시져의 스코프

프로시져는 global 영역에서 정의되나, local 영역에서 정의되나 global 프로시져가 됩니다.

변수의 스코프

카테고리: 
admin의 아바타

Tcl의 리스트

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

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

list, concat, lappend

list 커맨드는, 인자의 문자열로부터 리스트를 생성합니다.

% set var [list 사과 귤 바나나]
사과 귤 바나나
% 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]
fconfigure $fd -buffering line
button .b -text Send -command {
   puts $fd "Hello!"
}
pack .b

서버

set ip 127.0.0.1
카테고리: 

페이지

Subscribe to RSS - [강좌] Tcl/Tk 기초