期待送信スクリプトで配列をどのように初期化しますか? set Variable_name 値を使用して変数を初期化できます。同様に、expect-send スクリプトで配列を開始するにはどうすればよいですか?
質問する
6787 次
2 に答える
2
Cのような数値インデックス付きリストのような配列ではなく、連想配列のような配列を意味していると思います。array set
次のコマンドを使用します。
array set varname {key1 val1 key2 val2 key3 val3 ... ...}
中括弧の内容は Tcl によって評価されないため (つまり、expect によって)、必要に応じてきれいにすることができます。
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 に答える