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

指定索引處的列表專案

選擇特定索引處的列表專案的語法如下:

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
廣告
© . All rights reserved.