본문 바로가기

Linux/tcl

[Tcl] tcl 기본문법

$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