Tcl - รายการ

รายการเป็นหนึ่งในประเภทข้อมูลพื้นฐานที่มีอยู่ใน Tcl ใช้สำหรับแสดงคอลเลกชันของรายการที่สั่งซื้อ สามารถรวมรายการประเภทต่างๆไว้ในรายการเดียวกัน นอกจากนี้รายการอาจมีรายการอื่น

สิ่งสำคัญที่ต้องสังเกตคือรายการเหล่านี้แสดงเป็นสตริงอย่างสมบูรณ์และประมวลผลเพื่อสร้างแต่ละรายการเมื่อจำเป็น ดังนั้นหลีกเลี่ยงรายการขนาดใหญ่และในกรณีเช่นนี้ ใช้อาร์เรย์

การสร้างรายการ

ไวยากรณ์ทั่วไปสำหรับรายการได้รับด้านล่าง -

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

ตัวอย่างบางส่วนได้รับด้านล่าง -

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

red green blue
red green blue
red green blue

การต่อท้ายรายการเข้ากับรายการ

ไวยากรณ์สำหรับการต่อท้ายรายการในรายการมีให้ด้านล่าง -

append listName split_character value
# or
lappend listName value

ตัวอย่างบางส่วนได้รับด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

orange blue red green

ความยาวของรายการ

ไวยากรณ์สำหรับความยาวของรายการแสดงไว้ด้านล่าง -

llength listName

ตัวอย่างความยาวของรายการแสดงไว้ด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

4

List Item ที่ Index

ไวยากรณ์สำหรับการเลือกรายการที่ดัชนีเฉพาะได้รับด้านล่าง -

lindex listname index

ตัวอย่างรายการที่ดัชนีได้รับด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

blue

แทรกรายการที่ดัชนี

ไวยากรณ์สำหรับการแทรกรายการที่ดัชนีเฉพาะได้รับด้านล่าง

linsert listname index value1 value2..valuen

ตัวอย่างสำหรับการแทรกรายการที่ดัชนีเฉพาะแสดงไว้ด้านล่าง

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

orange blue red black white green

แทนที่รายการที่ดัชนี

ไวยากรณ์สำหรับการแทนที่รายการในดัชนีเฉพาะจะได้รับด้านล่าง -

lreplace listname firstindex lastindex value1 value2..valuen

ตัวอย่างสำหรับการแทนที่รายการที่ดัชนีเฉพาะแสดงไว้ด้านล่าง

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

orange blue black white

ตั้งค่ารายการที่ดัชนี

ไวยากรณ์สำหรับการตั้งค่ารายการที่ดัชนีเฉพาะได้รับด้านล่าง -

lset listname index value

ตัวอย่างการตั้งค่ารายการที่ดัชนีเฉพาะระบุไว้ด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

black blue red green

แปลงรายการเป็นตัวแปร

ไวยากรณ์สำหรับการคัดลอกค่าไปยังตัวแปรได้รับด้านล่าง -

lassign listname variable1 variable2.. variablen

ตัวอย่างการแปลงรายการเป็นตัวแปรแสดงไว้ด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

orange
blue

การจัดเรียงรายการ

ไวยากรณ์สำหรับการจัดเรียงรายการได้รับด้านล่าง -

lsort listname

ตัวอย่างการจัดเรียงรายการแสดงไว้ด้านล่าง -

#!/usr/bin/tclsh

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

เมื่อดำเนินการโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

blue green orange red