array(3tcl) Tcl Built-In Commands array(3tcl)

array - 操縱陣列變數

總覽 SYNOPSIS

array option arrayName ?arg arg ...?

描述 DESCRIPTION


這個命令在由 arrayName 給出的變數上進行多種操作中的某一項。除了在後面為單獨的命令(專門)指定之外,arrayName 必須是一個現存的陣列變數的名字。option 選項決定命令完成何種動作。合法的選項(可以用縮寫)有:

如果在一次陣列查詢中還有元素等待處理則返回 1,如果所有元素都被返回過了則返回 0。SearchId 指示在 arrayName 上檢查哪個查詢,它必須是從以前的 array startsearch 呼叫返回的值。如果一個數組的某個元素有空名字時這個選項特別有用,因為從 array nextelement 返回的值不能指示出查詢是否完成。
這個命令終止一個數組查詢並銷燬與這個查詢有關的所有狀態。SearchId 指示在 arrayName 上要要銷燬哪個查詢,必須時在以前呼叫 array startsearch 返回的值。返回一個空串。
如果 arrayName 是一個數組變數返回 1,如果沒有叫這個名字的變數或是一個標量變數則返回 0。
返回包含成對的元素的一個列表。每對的第一個元素是在 arrayName 中的元素名,每對的第二個元素是陣列元素的值。沒定義成對元素的次序。如果沒指定 pattern,則陣列的所有元素被包括在結果中,如果指定了 pattern,則結果中只包括那些名字匹配 patternn 的元素(使用 string match 的匹配規則)。如果 arrayName 不是一個數組變數的名字,或者陣列不包含元素,則返回一個空列表。
返回在一個列表,它包含陣列中匹配 pattern 的所有元素的名字(使用 string match 匹配規則)。 如果省略了 pattern 則命令返回在陣列中所有元素的名字。如果在陣列中沒有(匹配的)元素,或者 arrayNamee 不是一個數組變數的名字,則返回一個空串。
返回在 arrayName 中下一個元素的名字,如果在這個查詢中所有 arrayName 的元素都被已經被返回過了則返回空串。searchId 引數標識一個查詢,並且必須是 array startsearch 命令的返回值。 警告: 如果從這個陣列中新增或刪除元素,那麼自動的終止所有的查詢,有如呼叫了 array donesearch,這將導致對這些查詢的 array nextelement 操作失敗。
設定在 arrayName 中的一個或多個元素的值。list 的形式必須與 array get 返回的相同,由偶數個元素組成的。在 list 中每個奇數元素被作為在 arrayName 中被作為一個元素名對待,後面跟隨的 list 中的元素被作為這個陣列元素的新值使用。如果變數 arrayName 不存在並且 list 是空, 建立是空值的 arrayName
返回一個給出在一個數組中的元素個數的一個十進位制數的字串。如果 arrayName 不是一個數組的名字則返回 0。
這個命令在用 arrayName 給出的陣列上初始化一個逐個元素的查詢,呼叫 array nextelement 命令將返回在陣列中單獨元素的名字。在查詢完成的時候,要呼叫 array donesearch 命令。返回值是一個在 array nextelementarray donesearch 命令中必須要用的查詢識別符號;對同一個陣列允許多個查詢同時進行。
在一個數組中刪除匹配 pattern 的所有元素(使用 string match 的匹配規則)。如果 arrayName 不是一個數組變數的名字或在陣列中沒有匹配的元素,則返回一個空陣列。如果是一個數組變數的名字並且省略了 pattern ,則命令刪除整個陣列。

關鍵字 KEYWORDS

array, element names, search

寒蟬退士

2001/06/22

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

8.3 Tcl