TCL & Array

tcl array adalah sebuah tipe data yang menyimpan kumpulan dari
variable, yang membadakan tcl array dengan java aray ataupun c array
adalah tcl array menggunakan string sebagai index penanda, yang
berbeda dengan java array yang menggunakan numerik sebagai penanda
index dari anggota variable array. Tcl array lebih cocok dibandingkan
dengan hashmap pada java dibanding dengan array pada java.

Syntax

index pada array dibatasi dengan menggunakan kurung tutup ‘(‘, index
berupa string apa saja.

elemet array dibuat dengan syntax:

set arr(index) value

sedangkan untuk mengetahui nilai dari sebuah array

$arr(index)

Perintah

beberapa perintah untuk array.

  • array exist arr
  • Mengembalikan 1 jika arr adalah sebuah array variable.
  • array get arr ?pattern?
  • Mengembalikan variable list yang terdiri dari index dan value, jika
    index sesuai dengan pattern, jika pattern tidak didefinisikan maka
    list akan berisi seluruh index dan value.
  • array names arr ?patern?
  • Mengembalikan variable list dari nama2 index yang sesuai dengan pattern.
  • array set arr list
  • Membuat array dari sebuah list.
  • array size arr
  • Mengembalikan banyak anggota dari array.
  • array nextelement arr id
  • Mengembalikan next element dari id index.
  • array anymore arr id
  • Mengembalikan nilai 1 jika masih ada element dalam pencarian.
  • array donesearch arr id
  • Menyelesaikan pencarian berdasarkan nilai id.

Contoh2 Sederhana

Ini ada beberapa contoh sederhana dalam penggunaan array

% set Liverpool_Player(Steven.Gerrard) 8
8
% set Liverpool_Player(Steve.Finnan) 3
3
% set Liverpool_Player(Xabi.Alonso) 14
14
% array names Liverpool_Player
Xabi.Alonso Steven.Gerrard Steve.Finnan
% info exist Liverpool_Player(Xabi.Alonso)
1
% info exist Liverpool_Player(Michael.Owen)
0

satu pertanyaan yang muncul dari contoh diatas adalah bagaimana bila
didalam variabel string index terdapat spasi (whitespace),

% set Liverpool_Player(Daniel Agger) 5
wrong # args: should be "set varName ?newValue?"
%

maka tcl akan mengindikasikan telah terjadi error,
untuk mengatasi hal diatas ada beberapa alternatif

  • Tambahkan ‘\’ sebelum karakter spasi
  • set Liverpool_Player(Daniel\ Agger) 5
  • Beri Tanda kurung pada nama array dan index
  • set {Liverpool_Player(Daniel Agger)} 5
  • Buat veriable string untuk index dan gunakan variabel itu sebagai index
  • set DanielAgger "Daniel Agger"
    set Liverpool_Player($DanielAgger) 5

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: