несколько значений для ключа в массиве tcl

#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 , показанная в приведенном выше коде, если элемент массива не существует.