как скопировать переменную в одномерный массив в tcl

Как установить данные одной переменной в одномерный массив в ns2 с помощью языка команд инструментов?
Я попытался использовать команду set для этой переменной и массива, но это показывает ошибку, как переменная, а не массив.


person J.Maheswari    schedule 01.03.2018    source источник


Ответы (1)


Вам нужно немного больше изучить документацию Tcl.

Для переменных присваивание выглядит так:

set foo 99

(set имя значение)

Для массивов присваивание выглядит так:

set bar(foo) 99

(set имя-массива(имя-элемента) значение)

or

array set bar {foo 99}

(array set имя-массивасписок имен элементов и значений›)

Вы не можете смешивать режимы назначения. Если abc — это имя массива, а def — имя переменной, неправильный режим присваивания выдаст вам следующие ошибки:

% set abc 99
can't set "abc": variable is array

% set def foo 99
wrong # args: should be "set varName ?newValue?"

% set def(foo) 99
can't set "def(foo)": variable isn't array

Вам нужно хранить переменные и массивы отдельно и всегда использовать правильные вызовы.

Документация: массив

person Peter Lewerin    schedule 01.03.2018