Tcl - Değişkenler

Tcl'de değişken bildirimi kavramı yoktur. Yeni bir değişken adı ile karşılaşıldığında, Tcl yeni bir değişken tanımlayacaktır.

Değişken Adlandırma

Değişkenlerin adı herhangi bir karakter ve uzunluk içerebilir. Değişkeni küme parantezi içine alarak beyaz boşluklara bile sahip olabilirsiniz, ancak bu tercih edilmez.

Set komutu, bir değişkene değer atamak için kullanılır. Set komutunun sözdizimi,

set variableName value

Aşağıda birkaç değişken örneği gösterilmektedir -

#!/usr/bin/tclsh

set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}

Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -

10
test

Yukarıdaki programda görebileceğiniz gibi, değişkenin değerini almak için $ variableName kullanılır.

Dinamik Yazma

Tcl, dinamik olarak yazılmış bir dildir. Değişkenin değeri, gerektiğinde dinamik olarak gerekli türe dönüştürülebilir. Örneğin, dizge olarak saklanan bir 5 sayısı aritmetik bir işlem yapılırken sayıya dönüştürülecektir. Aşağıda gösterilmiştir -

#!/usr/bin/tclsh

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

Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -

10
30

Matematiksel İfadeler

Yukarıdaki örnekte görebileceğiniz gibi, ifade matematiksel ifadeyi temsil etmek için kullanılır. Tcl'nin varsayılan duyarlığı 12 basamaktır. Kayan nokta sonuçlarını alabilmek için en az bir ondalık basamak eklemeliyiz. Basit bir örnek yukarıdakileri açıklamaktadır.

#!/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

Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -

1
1.1111111111111112
1.1111111111111112

Yukarıdaki örnekte, üç durum görebilirsiniz. İlk durumda, temettü ve bölen tam sayılardır ve sonuç olarak bir tam sayı elde ederiz. İkinci durumda, tek başına bölen bir ondalık sayıdır ve üçüncü durumda, bölünen bir ondalık sayıdır. Hem ikinci hem de üçüncü durumlarda, sonuç olarak bir ondalık sayı elde ederiz.

Yukarıdaki kodda, tcl_precision özel değişkenini kullanarak hassasiyeti değiştirebilirsiniz. Aşağıda gösterilmiştir -

#!/usr/bin/tclsh

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

Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -

1.1111