Chapter 04. Tcl-Basic Syntax
Tcl은 배우기가 아주 쉬운 언어입니다.첫 번째 Tcl 프로그램을 만들어 보겠습니다!
첫 번째 Tcl 프로그램
먼저 간단한 Tcl 프로그램을 작성하겠습니다.
모든 Tcl 파일의 확장자는 .tcl입니다. 그래서,
test.tcl 파일로 저장합니다.
#!/usr/bin/tclsh
puts "Hello, World!"
Tcl 개발환경이 올바르게 설정되어 있다고 가정합니다. 파일로 저장한 한 후 프로그램을 실행합니다.
해당 디렉토리로 이동한 후 다음과 같이 프로그램을 실행하시기 바랍니다.
$ tclsh test.tcl
다음과 같이 표시됩니다.
Hello, World!
이제 Tcl 프로그램의 가장기본적인 구조인 문장에 대해서 살펴보겠습니다.
Tcl 언어의 기본적인 구성 요소인 문장에 대해서 이해해야 합니다.
Tcl에서 문장은 새로운 줄 또는 세미콜론을 사용해서 문장을 구별합니다.
세미콜론은 이전 코드행을 종료하는 역활을 합니다. 하지만 세미콜론이 필수는 아닙니다.
주석
주석은 Tcl 프로그램을 설명하는 문장들이며, 해석기는 이 주석들을 무시합니다.
주석은 줄의 첫칸에 해시 (#) 기호를 사용해서 사용할 수 있습니다.
#!/usr/bin/tclsh
# my first program in Tcl
puts "Hello World!"
다중 행 또는 블록 주석은 조건값을 '0'으로 해서 'if' 문을 사용해서 사용하면 됩니다.
#!/usr/bin/tclsh
if 0 {
my first program in Tcl program
Its very simple
}
puts "Hello World!"
만약, 줄의 중간부분에 주석을 사용할려면 다음과 같이 사용합니다.(세미콜론)
#!/usr/bin/tclsh
puts "Hello World!" ;# my first print in Tcl program
식별자
Tcl언어에서 식별자는 변수명, 함수명 또는 사용자 정의 변수를 식별하는데 사용되는 이름입니다.
식별자는 문자 A부터 Z 또는 a에서 z 또는 밑줄 (_)문자로 시작합니다.
즉, 밑줄(_), 달러기호($) 및 숫자(0-9)로 사용됩니다.
Tcl은 식별자에 @와 %와 같은 구두점 문자를 허용하지 않습니다.
Tcl언어에서는 식별자의 대소문자를 철처히 구별합니다..
따라서 Manpower와 manpower는 Tcl언어에서는 별개의 식별자입니다.
사용가능한 식별자의 몇 가지 예제는 다음과 같습니다.
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
예약어
다음 목록은 Tcl 언어에서 자체적으로 사용하는 예약어 중 몇 가지를 보여줍니다.(버전별로 다를 수있습니다)
예약어는 상수이름, 변수이름,다른 식별자 이름으로 사용할 수 없습니다.
after | append | array | auto_execok |
---|---|---|---|
auto_import | auto_load | auto_load_index | auto_qualify |
binary | Bgerror | break | catch |
cd | clock | close | concat |
continue | dde | default | else |
elseif | encoding | eof | error |
eval | exec | exit | expr |
fblocked | fconfigure | fcopy | file |
fileevent | flush | for | foreach |
format | gets | glob | global |
history | if | info | interp |
join | lappend | lindex | linsert |
list | llength | load | lrange |
lreplace | lsearch | lsort | namespace |
open | package | pid | pkg_mkIndex |
proc | puts | pwd | read |
regexp | regsub | rename | resource |
return | scan | seek | set |
socket | source | split | string |
subst | switch | tclLog | tell |
time | trace | unknown | unset |
update | uplevel | upvar | variable |
vwait | while |
Tcl의 공백문자
공백문자만 포함하고있는 행(주석포함)은 공행이라고하며,
Tcl 인터프리터는이를 완전히 무시합니다.
Tcl 언어에서 공백문자는 공백, 탭, 개행 문자, 주석을 의미하는 용어입니다.
공백문자는 명령문의 일부분을 다른 부분과 분리하고 인터프리터가 이해하는 문장의
요소(예 : puts, gets, read)를 식별합니다.
#!/usr/bin/tclsh
puts "Hello World!"
"puts"와 "Hello World!"사이에는 최소한 하나의 공백 문자가 있어야합니다.
해석기가 그 공백을 기준으로 명령어와 인자를 구별하게 됩니다.
#!/usr/bin/tclsh
puts [expr 3 + 2] ;# print sum of the 3 and 2
상기의 예제에서 사실 3 + 2 사이에 공백 문자가 필요하지 않습니다.
하지만, 소스코드를 읽기 쉽게 만드는 가독성을 위해서 공백을 자유롭게 포함시킬 수 있습니다.
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.
5