3

你如何在期望发送脚本中初始化一个数组?我们可以使用 set Variable_name 值初始化变量。同样,如何在期望发送脚本中启动数组?

4

2 回答 2

2

我假设您的意思是关联数组中的数组,而不是类 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
...
于 2013-07-09T09:37:15.513 回答
1

请注意,与用于设置变量的 set 不同,它的工作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
于 2013-07-09T12:10:33.473 回答