2013-07-09 65 views
2

如何在expect-send腳本中初始化數組?我們可以使用 設置Variable_name值初始化一個變量。同樣,如何在預期發送腳本中啓動數組?Expect腳本中的數組初始化

回答

1

我假設你的意思是在關聯數組中的數組,而不是像在類C數字索引列表中的數組。您可以使用array set命令:

array set varname {key1 val1 key2 val2 key3 val3 ... ...} 

由於括號中的內容不會被Tcl的(因此被預期)計算,你可以把它漂亮,如果你想

array set varname { 
    key1 val1 
    key2 val2 
    .... .... 
} 

您也可以指定數組直接元素:

set varname(key1) val1 
set varname(key2) val2 
... 
+0

感謝格倫...明白了 – Deb

1

注意,不像設置用於設置一個變量,array set原理不同:

同樣tclsh的:

% array set a {key1 val1 key2 val2} 
% parray a 
a(key1) = val1 
a(key2) = val2 

#This will not delete the content of the array: 
% array set a {} 
% parray a 
a(key1) = val1 
a(key2) = val2 

#This will add new key-value pair: 
% array set a {key3 val3} 
% parray a 
a(key1) = val1 
a(key2) = val2 
a(key3) = val3 

#Array keys are unique: 
% array set a {key1 val1 key2 val2} 
% parray a 
a(key1) = val1 
a(key2) = val2 
a(key3) = val3 

#To unset the entire array content: 
array unset a * 

#To unset the array: 
array unset a