#tcl #associative-array
#tcl #ассоциативный массив
Вопрос:
Как мне указать несколько значений для ключа в ассоциативном массиве Tcl?
set A(a) val1
set A(a) val2
Это переопределяет значение, и при печати я получаю последнее значение. Как сохранить и извлечь их оба?
Ответ №1:
Вы могли бы сохранить значения в виде списка и сохранить этот список в массив:
set A(a) [list val1]
lappend A(a) val2
puts $A(a)
# val1 val2
Комментарии:
1. Это стандартный способ сделать это, и это верно для многих языков (после учета синтаксиса и так Далее).
2. Примечание: Нет необходимости использовать другой подход для первого и последующих элементов. Вы можете использовать
lappend
для всех.lappend
Команда будет вести себя так же, как комбинацияset
/list
, показанная в приведенном выше коде, если элемент массива не существует.