Каков правильный способ инициализации пустого массива в Tcl?Как инициализировать массив в Tcl?
У меня есть следующий код (упрощенный):
proc parseFile {filename results_array} {
upvar $results_array results
set results(key) $value
}
set r1 {}
parseFile "filename" r1
и я получаю ошибку:
Error: can't set "results(key)": variable isn't array
Если вы хотите заставить что-то быть массивом, я часто делаю так, как он делает код более читаемым, вы можете использовать 'array set r1 {}', а затем r1 - пустой массив. – Jackson
@Jackson Обратите внимание, что 'array set r1 {}' не отменяет существующие значения. –