Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Ulla
Зарегистрирован: 04.09.2003 Сообщения: 4 Откуда: Ukraine, Kiev
|
Добавлено: Чт Сен 04, 2003 2:29 pm Заголовок сообщения: Двумерные массивы |
|
|
Прошу подсказать, плиз. Недавно, не вспомню где, видел инфу, в которой кроме всего прочего упоминались двумерные массивы (не обьекты) в ТАДС.
Т.е. что-то вида:
stuff.ary[2][2] := some_thing;
Если кому известно о Subj, подскажите, плиз.
Спасибо. |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Чт Сен 04, 2003 5:13 pm Заголовок сообщения: |
|
|
Посмотрел то, на что ссылку дал. Почти такое я сам использовал в эксперименте с рогуликом. Более серьёзно было бы использовать array состоящий из array'ев(тадс позволяет), чтобы добиться динамических массивов. Это чуть сложнее и медленнее. Если нужно, напишу код. |
|
Вернуться к началу |
|
 |
Ulla
Зарегистрирован: 04.09.2003 Сообщения: 4 Откуда: Ukraine, Kiev
|
Добавлено: Пт Сен 05, 2003 2:43 pm Заголовок сообщения: |
|
|
Спасибо, со статикой работает.
С динамическими масивами туговато:
createList: function(len, fill)
{
local i;
local ary := [];
for (i:=1; i<=len; ++i)
ary := ary + nil;
}
...
self.dimension := createList(10, createList(10,someobj));
...
На С++ аналогичная прога (того же принципа) работает без проблем. С ТАДСом это не проходит?
Ошибка времени выполнения (List value required), причем дебаггер показывает, что массив создан... |
|
Вернуться к началу |
|
 |
Ulla
Зарегистрирован: 04.09.2003 Сообщения: 4 Откуда: Ukraine, Kiev
|
Добавлено: Пт Сен 05, 2003 3:42 pm Заголовок сообщения: |
|
|
В d2array.t двумерный массив не реализуется - это всего лишь обьект, содержащий список, с методами доступа к нему как к двумерному.
Т.е. для использования его в качестве поля другого обьекта необходимо создать экземпляр класса. И так для каждого обьекта
Приведенный ранее пример по сути должен работать, но... |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Пт Сен 05, 2003 3:56 pm Заголовок сообщения: |
|
|
Да, извиняюсь. Похоже, элементами массива могут быть лишь объекты (или строки и числа). Т.е. нужно создавать объект со массивом, элементы которого - объекты с массивами. И так до нужной глубины.
При добавлении элемента, нужно создавать экземпляр, при удалении - соответственно убирать, чтобы не засорять память. Громоздко получается, и не очень быстро. Уж лучше статикой. |
|
Вернуться к началу |
|
 |
|