Chapter 07. Tcl-Variables

Tcl언어에서는 변수선언이라는 개념자체가 존재하지 않습니다.
일단 새로운 변수이름을 사용하면 변수가 자동으로 생성됩니다.

변수이름 지정


변수의 이름에는 어떠한 문자나 길이에 제한이 없습니다. 심지어 이름이 없는 변수명도
사용가능합니다.(의미가 없습니다)

set 명령으로 변수를 생성하고 변수에 값을 읽고, 쓸 수 있습니다.

set 명령으로 변수를 선언하고 사용하는 형식은 다음과 같습니다.

set variableName value

변수를 사용하는 몇가지 간단한 예제를 살펴보겠습니다.

#!/usr/bin/tclsh

set variableA 10
set {variable B} test

puts $variableA
puts ${variable B}

상기의 코드를 실행하면 다음과 같이 표시됩니다.

10
test

예제를 보면 알수있듯이, $variableName 과 같이 해당 변수의 값을 처리할 수 있습니다.

동적 타이핑


Tcl언어는 동적 타입 언어에 속합니다. 변수의 값을 실행중에도 언제든지 바꿀 수 있습니다.
예를 들어 숫자 5라는 값은 산술연산을 수행할 경우에는 숫자에서 문자열로 변환되어 처리됩니다.
다음에 예제를 참고하시기 바랍니다.

#!/usr/bin/tclsh

set variableA "10"
puts $variableA

set sum [expr $variableA + 20];
puts $sum

상기의 코드를 실행하면 다음과 같이 표시됩니다.

10
30

산술 표현식


이미 많은 예제에서 보셨듯이, expr 명령어는 산술표현을 수행하는 명령어입니다.
Tcl 언어에서 기본 정밀도는 12자리까지 표시합니다.

정수와 정수값을 나누면 정수입니다.

10진수와 부동소수점을 계산할 경우에 적어도 한개의 변수에 부동소수점을 표시해야 합니다.

#!/usr/bin/tclsh

set variableA "10"
set result [expr $variableA / 9];
puts $result

set result [expr $variableA / 9.0];
puts $result

set variableA "10.0"
set result [expr $variableA / 9];
puts $result

상기의 코드를 실행하면 다음과 같이 표시됩니다.

1
1.1111111111111112
1.1111111111111112

상기의 예제에서 3가지의 경우의 수를 볼 수 있습니다.
첫번째로, 정수 / 정수의 값은 정수입니다. 두번째와 세번째에서는 젯수와 피젯수 중
하나의 값을 부동소수로 하면, 결과는 부동소수점으로 표시됩니다.
tcl_precision 변수의 값을 조정하면, 부동소수점의 결과 정밀도를 조절할 수 있습니다.

#!/usr/bin/tclsh

set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result

상기의 코드를 실행하면 다음과 같이 결과가 표시됩니다.

1.1111

results matching ""

    No results matching ""