как установить переменные в tcl - PullRequest
1 голос
/ 21 февраля 2012

Я видел, как кто-то установил переменную таким образом:

set selectRoom(1,deflt) 1 

что означает selectRoom(1,deflt)? как это работает?

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

selectRoom - это массив, а 1,deflt - это индекс.Чтобы увидеть, что установлено в массиве, вы можете использовать команду parray или array get.

1 голос
/ 21 февраля 2012

Как было сказано ранее, selectRoom - это массив, но я бы хотел расширить этот ответ.

Возможно, у вас возникнет соблазн думать, что индекс 1,deflt предполагает, что это 2размерный массив.На самом деле это не так; Tcl не поддерживает многомерные массивы .Запись через запятую - это просто соглашение, которое программисты Tcl используют для моделирования многомерных массивов.Запятая - это часть строки, а не какой-то особый разделитель.

В Tcl массивы немного похожи на хэш-карты в других языках.Индекс всегда является строкой (потому что все это строка в Tcl ).Это имеет другое значение: они не упорядочены, поэтому вы должны быть осторожны при их выполнении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...