Tcl - Daftar

Daftar adalah salah satu tipe data dasar yang tersedia di Tcl. Ini digunakan untuk mewakili koleksi item yang dipesan. Ini dapat mencakup berbagai jenis item dalam daftar yang sama. Selanjutnya, daftar dapat berisi daftar lain.

Satu hal penting yang perlu diperhatikan adalah bahwa daftar ini direpresentasikan sebagai string secara lengkap dan diproses untuk membentuk item individual bila diperlukan. Jadi, hindari daftar besar dan dalam kasus seperti itu; menggunakan array.

Membuat Daftar

Sintaks umum untuk daftar diberikan di bawah ini -

set listName { item1 item2 item3 .. itemn }
# or
set listName [list item1 item2 item3]
# or 
set listName [split "items separated by a character" split_character]

Beberapa contoh diberikan di bawah ini -

#!/usr/bin/tclsh

set colorList1 {red green blue}
set colorList2 [list red green blue]
set colorList3 [split "red_green_blue" _]
puts $colorList1
puts $colorList2
puts $colorList3

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

red green blue
red green blue
red green blue

Menambahkan Item ke Daftar

Sintaks untuk menambahkan item ke daftar diberikan di bawah ini -

append listName split_character value
# or
lappend listName value

Beberapa contoh diberikan di bawah ini -

#!/usr/bin/tclsh

set var orange
append var " " "blue"
lappend var "red" 
lappend var "green" 
puts $var

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

orange blue red green

Panjang Daftar

Sintaks untuk panjang daftar diberikan di bawah ini -

llength listName

Contoh panjang daftar diberikan di bawah ini -

#!/usr/bin/tclsh

set var {orange blue red green}
puts [llength $var]

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

4

Daftar Item di Indeks

Sintaks untuk memilih item daftar pada indeks tertentu diberikan di bawah ini -

lindex listname index

Contoh untuk item daftar pada indeks diberikan di bawah ini -

#!/usr/bin/tclsh

set var {orange blue red green}
puts [lindex $var  1]

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

blue

Sisipkan Item di Indeks

Sintaks untuk memasukkan item daftar pada indeks tertentu diberikan di bawah ini.

linsert listname index value1 value2..valuen

Contoh untuk memasukkan item daftar pada indeks tertentu diberikan di bawah ini.

#!/usr/bin/tclsh

set var {orange blue red green}
set var [linsert  $var 3 black white]
puts $var

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

orange blue red black white green

Ganti Item di Indeks

Sintaks untuk mengganti item daftar pada indeks tertentu diberikan di bawah ini -

lreplace listname firstindex lastindex value1 value2..valuen

Contoh untuk mengganti item daftar pada indeks tertentu diberikan di bawah ini.

#!/usr/bin/tclsh

set var {orange blue red green}
set var [lreplace $var 2 3 black white]
puts $var

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

orange blue black white

Tetapkan Item pada Indeks

Sintaks untuk item daftar pengaturan pada indeks tertentu diberikan di bawah ini -

lset listname index value

Contoh untuk mengatur item daftar pada indeks tertentu diberikan di bawah ini -

#!/usr/bin/tclsh

set var {orange blue red green}
lset var 0 black 
puts $var

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

black blue red green

Ubah Daftar menjadi Variabel

Sintaks untuk menyalin nilai ke variabel diberikan di bawah ini -

lassign listname variable1 variable2.. variablen

Contoh untuk mengubah daftar menjadi variabel diberikan di bawah ini -

#!/usr/bin/tclsh

set var {orange blue red green}
lassign $var colour1 colour2
puts $colour1
puts $colour2

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

orange
blue

Menyortir Daftar

Sintaks untuk mengurutkan daftar diberikan di bawah ini -

lsort listname

Contoh untuk menyortir daftar diberikan di bawah ini -

#!/usr/bin/tclsh

set var {orange blue red green}
set var [lsort $var]
puts $var

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

blue green orange red