Tcl - Tipe Data

Tipe data primitif dari Tcl adalah string dan seringkali kita dapat menemukan tanda kutip pada Tcl sebagai bahasa hanya string. Tipe data primitif ini pada gilirannya membuat tipe data komposit untuk daftar dan array asosiatif. Di Tcl, tipe data tidak hanya dapat mewakili objek Tcl sederhana, tetapi juga dapat mewakili objek kompleks seperti pegangan, objek grafik (kebanyakan widget), dan saluran I / O. Mari kita lihat detail tentang masing-masing hal di atas.

Objek Tcl Sederhana

Di Tcl, apakah itu bilangan bulat, boolean, bilangan floating point, atau string. Jika Anda ingin menggunakan variabel, Anda dapat langsung memberikan nilai padanya, tidak ada langkah deklarasi di Tcl. Mungkin ada representasi internal untuk berbagai jenis objek ini. Itu dapat mengubah satu tipe data ke tipe lainnya bila diperlukan. Sintaks untuk menetapkan nilai ke variabel adalah sebagai berikut -

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

18

Pernyataan di atas akan membuat nama variabel myVariable dan menyimpannya sebagai string meskipun kami belum menggunakan kutipan ganda. Sekarang, jika kita mencoba membuat aritmatika pada variabel, itu secara otomatis berubah menjadi bilangan bulat. Contoh sederhana ditunjukkan di bawah ini -

#!/usr/bin/tclsh

set myVariable 18
puts [expr $myVariable + 6 + 9]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

33

Satu hal penting yang perlu diperhatikan adalah, variabel ini tidak memiliki nilai default dan harus diberi nilai sebelum digunakan.

Jika kita mencoba mencetak menggunakan put, jumlahnya diubah menjadi string yang tepat. Memiliki dua representasi, internal dan eksternal, membantu Tcl membuat struktur data yang kompleks dengan mudah dibandingkan dengan bahasa lain. Selain itu, Tcl lebih efisien karena sifat objeknya yang dinamis.

Representasi String

Tidak seperti bahasa lain, di Tcl, Anda tidak perlu menyertakan tanda kutip ganda jika hanya ada satu kata. Contohnya bisa -

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

hello

Saat kita ingin merepresentasikan beberapa string, kita bisa menggunakan tanda kutip ganda atau kurung kurawal. Itu ditunjukkan di bawah ini -

#!/usr/bin/tclsh

set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

hello world
hello world

Daftar

Daftar tidak lain adalah sekelompok elemen. Sekelompok kata baik menggunakan tanda kutip ganda atau tanda kurung kurawal dapat digunakan untuk mewakili daftar sederhana. Daftar sederhana ditunjukkan di bawah ini -

#!/usr/bin/tclsh

set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

blue
green

Array Asosiatif

Array asosiatif memiliki indeks (kunci) yang tidak harus berupa bilangan bulat. Biasanya ini adalah string yang bertindak seperti pasangan nilai kunci. Contoh sederhana ditunjukkan di bawah ini -

#!/usr/bin/tclsh

set  marks(english) 80
puts $marks(english)
set  marks(mathematics) 90
puts $marks(mathematics)

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

80
90

Menangani

Tcl menangani biasanya digunakan untuk mewakili file dan objek grafik. Ini dapat termasuk menangani permintaan jaringan dan juga saluran lain seperti komunikasi port serial, soket, atau perangkat I / O. Berikut ini adalah contoh di mana pegangan file dibuat.

set myfile [open "filename" r]

Anda akan melihat lebih detail tentang file di bab I / O file Tcl .