Чтобы редактировать список «на месте», вы можете сделать это:
set idx -1
foreach item $myList {
lappend item "new"
lset myList [incr idx] $item
}
Вы также можете сделать это, если у вас есть Tcl 8.6 (обратите внимание, что я на самом деле не использую $item
; это просто удобный цикл):
set idx -1
foreach item $myList {
lset myList [incr idx] end+1 "new"
}
Но он не будет работать на 8.5, где lset
заменит только существующие элементы (и подсписки).