Посмотрите на команды array set
и array get
.
for {set i 0} { $i < 3} {incr i} {
set color($i) $i
}
set nvList [array get color]
Переменная nvList
теперь имеет значение 0 0 1 1 2 2
(обратите внимание на комментарии). С array get
вы получаете представление имени-значения массива. Если вы позвоните array set
, вы можете снова преобразовать nvList
в массив.
Это то, что тебе нужно?
Редактировать: Еще один пример на основе вашего комментария:
# building example array with 100 elements
for {set r 1} {$r <= 100} {incr r} {
set color($r) $r
}
set rows [array size color]
set columns {A B C}
for {set row 1} {$row <= $rows} {incr row} {
foreach column $columns {
$cells Item $row $column $color($row)
}
}
Редактировать: Еще один (второй) пример на основе вашего комментария:
array set atten {...}
array set transmit {...}
set rows [array size atten]
for {set row 1} {$row <= $rows} {incr row} {
$cells Item $row "B" $atten($row)
}
set rows [array size transmit]
for {set row 1} {$row <= $rows} {incr row} {
$cells Item $row "C" $transmit($row)
}