Могу ли я попросить помощи, чтобы понять или выделить, почему я не могу зациклить lreplace в следующем коде
oldlist = {} {} {} {} {} {} {} {} {} {Fred 1}
data_idx = 0 3 6
data_len = 3
for {set i 0} {$i < $data_len} {incr i} {
set idx_Fname [lindex $data_idx $i]
puts "ids($i) = $idx_Fname"
set NewList [lreplace $oldlist $data_idx $data_idx foo]
}
Я бы ожидал увидеть
NewList = foo {} {} foo {} {} foo {} {} {Fred 1}
Вместо этого я вижу
NewList = {} {} {} {} {} {} foo {} {} {Fred 1}
то есть только lreplace передается только последняя итерация.
, если я пытаюсь индексировать $ data_idx внутри lreplace, т.е. $ data_idx ($ i), есть ошибка для $ data_idx, а не длямассив.
Был бы признателен, если бы кто-то мог указать на недостаток.
Спасибо.