A. TCL腳本語言中Isearch命令% lsearch $a y* 2 % lsearch $a y -1
1 list命令
語法: list ? value value...?
這個命令生成一個list,list的元素就是所有的value。例:
% list 1 2 {3 4}
1 2 {3 4}
concat命令:
語法:concat list ?list...?
這個命令把多個list合成一個list,每個list變成新list的一個元素。
3 lindex命令
語法:lindex list index
返回list的第index個(0-based)元素。例:
% lindex {1 2 {3 4}} 2
3 4
4 llength命令
語法:llength list
返回list的元素個數。例
% llength {1 2 {3 4}}
3
5 linsert命令
語法:linsert list index value ?value...?
返回一個新串,新串是把所有的value參數值插入list的第index個(0-based)元素之前得到。例:
% linsert {1 2 {3 4}} 1 7 8 {9 10}
1 7 8 {9 10} 2 {3 4}
6 lreplace命令:
語法:lreplace list first last ?value value ...?
返回一個新串,新串是把list的第firs (0-based)t到第last 個(0-based)元素用所有的value參數替換得到的。如果沒有value參數,就表示刪除第first到第last個元素。例:
% lreplace {1 7 8 {9 10} 2 {3 4}} 3 3
1 7 8 2 {3 4}
% lreplace {1 7 8 2 {3 4}} 4 4 4 5 6
1 7 8 2 4 5 6
7 lrange 命令:
語法:lrange list first last
返回list的第first (0-based)到第last (0-based)元素組成的串,如果last的值是end。就是從第first個直到串的最後。
例:
% lrange {1 7 8 2 4 5 6} 3 end
2 4 5 6
8 lappend命令:
語法:lappend varname value ?value...?
把每個value的值作為一個元素附加到變數varname後面,並返回變數的新值,如果varname不存在,就生成這個變數。例:
% lappend a 1 2 3
1 2 3
% set a
1 2 3
9 lsearch 命令:
語法:lsearch ?-exact? ?-glob? ?-regexp? list pattern
返回list中第一個匹配模式pattern的元素的索引,如果找不到匹配就返回-1。-exact、-glob、 -regexp是三種模式匹配的技術。-exact表示精確匹配;-glob的匹配方式和string match命令的匹配方式相同,將在後面第八節介紹string命令時介紹;-regexp表示正規表達式匹配,將在第八節介紹regexp命令時介紹。預設時使用-glob匹配。例:
% set a { how are you }
how are you
% lsearch $a y*
2
% lsearch $a y?
-1
10 lsort命令:
語法:lsort ?options? list
這個命令返回把list排序後的串。options可以是如下值:
-ascii 按ASCII字元的順序排序比較.這是預設情況。
-dictionary 按字典排序,與-ascii不同的地方是:
(1)不考慮大小寫
(2)如果元素中有數字的話,數字被當作整數來排序.
因此:bigBoy排在bigbang和bigboy之間, x10y 排在x9y和x11y之間.
-integer 把list的元素轉換成整數,按整數排序.
-real 把list的元素轉換成浮點數,按浮點數排序.
-increasing 升序(按ASCII字元比較)
-decreasing 降序(按ASCII字元比較)
-command command TCL自動利用command 命令把每兩個元素一一比較,然後給出排序結果。
11 split命令:
語法:split string ?splitChars?
把字元串string按分隔符splitChars分成一個個單詞,返回由這些單片語成的串。如果splitChars
是一個空字元{},string被按字元分開。如果splitChars沒有給出,以空格為分隔符。例:
% split "how.are.you" .
how are you
% split "how are you"
how are you
% split "how are you" {}
h o w { } a r e { } y o u
12 join命令
語法:join list ?joinString?
join命令是命令的逆。這個命令把list的所有元素合並到一個字元串中,中間以joinString分開。預設的joinString是空格。例:
% join {h o w { } a r e { } y o u} {}
how are you
% join {how are you} .
how.are.you