$touch test.tcl
$vi test.tcl
#!/usr/local/bin/tclsh
- 기본 문법
- 한 줄에 한 명령어
한 줄에 여러 개의 명령어를 쓰는 경우 ; 를 사용하여 각 명령어들을 구분시켜 줌
명령어가 길어져 여러 줄에 걸쳐 기술해야 할 경우 \ 를 줄의 맨 마지막에 붙여서
다음 줄이 계속 한 명령어에 해당한다는 것을 알 수 있다
set a 5; puts "a=$a"
set \
a 5
puts "a=$a"
- 주석 (comment)
줄의 시작에 # 을 사용하면 그 줄 전체를 comment로 간주한다
줄의 중간에 주석을 넣으려면 ; 사용하고 그 뒤에 # 을 쓴다
- 변수
set 명령어는 주어진 변수에 값을 할당하고 할당된 값을 리턴한다.
Argument로 변수 이름만 주면 그 변수의 값을 리턴
변수 값 참조 = $변수
변수를 제거하는 명령어는 unset
tcl 변수는 미리 정해진 type이 없음 할당되는 값에 따라 변수 형은 자동으로 바뀜
정수형, 실수형 등과 같은 변수형이 없음
set a 2
set a hi
set a 1.2
set a "this is string"
set a { one two three }
- 수학식
expr 명령어를 사용하여 계산할 수 있다. 수학식의 표현 방법은 C랑 유사
expr 2 + 3
expr ( 3 + 3 ) / 2
set x 3
puts[expr ( $x < 5) ? 1 : 2]
- 백슬래쉬 문자열
\ 다음에 오는 글자는 원래 의미를 잃어버리고 문자 그대로 사용된다.
- nesting
명령어의 Argument로 다른 명령어의 return 값이 들어갈 경우와 수학식 내에서 다른 명령어의 결과를
이용해야 할 경우 "[]"를 사용해 명령어를 nesting시킬 수 있다.
puts [expr ( $x < 5) ? 1 : 2]
- Grouping(그루핑)과 Substitution(변수치환)
set a 5
puts {a=$a} // Grouping
puts "a=$a" // Substitution
중괄호와 따옴표는 그 사이에 오는 모든 문자를 그루핑, 여러 줄에 걸친 명령어를 기술할 수 있다.
set a {
a
2
}
puts " a
b
c "
- 띄어쓰기
{} 와 [] 를 사용할 때 기호들 사이에 반드시 띄어 쓰기를 하자
ex) ^는 띄어쓰기를 해야할 곳
if^{^$value >= 0^}^{
puts [^argu^]
'Linux > tcl' 카테고리의 다른 글
[tcl] (0) | 2022.08.02 |
---|---|
[Tcl] tcl 정규표현식 (0) | 2022.06.10 |
[Tcl] tcl 리스트 / 배열 (0) | 2022.05.25 |
[Tcl] tcl 문자열 조작 (0) | 2022.05.18 |
[Tcl] tcl 제어구조 (0) | 2022.05.17 |