вопросик про размер массива
|
|
undroidy | Дата: Пятница, 07 Сентября 2012, 21:53:12 | Сообщение # 1 |
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
| Для чего нужен сам массив я понимаю, но мучает такой вот, возможно, глупый вопрос: что дает размер массива? http://s2.ipicture.ru/uploads/20120907/LScoRELU.jpg
|
|
|
|
DragoN | Дата: Пятница, 07 Сентября 2012, 21:57:18 | Сообщение # 2 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| видимо не понимаешь что такое массив... сколько элементов он будет содержать максимум 8192(0..8191)
El Psy Congroo
|
|
|
|
undroidy | Дата: Пятница, 07 Сентября 2012, 22:05:51 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
| ну галочку в поле Массив мы ставим для того, чтобы переменная с одинаковым названием могла иметь множество индексов.. так? т.е. нам не надо создавать дополнительные переменные. с этим я сталкивался, к примеру, когда делал подсчет одинаковых артефактов в инвентаре, для их слияния в более мощные итемы тогда что подразумевается под этими максимально возможными 8192 элементами, вот как раз и не понимаю..
|
|
|
|
lawson | Дата: Пятница, 07 Сентября 2012, 22:15:12 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (undroidy) подразумевается под этими максимально возможными 8192 элементами Quote (undroidy) Для чего нужен сам массив я понимаю
Quote (DragoN) сколько элементов он будет содержать Мне кажется, это значит сколько значений может в себя вместить массив, точнее сколько он вмешает в себе ячеек со значениями.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
undroidy | Дата: Пятница, 07 Сентября 2012, 23:56:28 | Сообщение # 5 |
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
| lawson, я оставляю размер массива = 1 или же если я поменяю на 8192, что от этого изменится? на примерах можешь объяснить?
|
|
|
|
DragoN | Дата: Пятница, 07 Сентября 2012, 23:58:55 | Сообщение # 6 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| если сделаешь один, прокатит только Code a[0] = value a[1] = anothervalue если поставишь 8191, то прокатит Code a[0] = value a[1] = anothervalue a[2] = value3 a[3] = value5 ...... a[8191] = value9000
El Psy Congroo
|
|
|
|
undroidy | Дата: Суббота, 08 Сентября 2012, 00:06:05 | Сообщение # 7 |
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
| хммм, так значит лучше всем массивам задавать значение 8192? или если всем задавать макс. значение, то это сильно отразится на весе карты?
|
|
|
|
kapa6acvlk | Дата: Суббота, 08 Сентября 2012, 00:11:53 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Насколько я знаю, размерность массива для integer, real, boolean, string роли не играет, а вот если группу или таймер делать (объект) и не указать размер, то это вылезет боком, ибо при указании размера в функции инициализации (InitGlobals) создается следующий код: Code .... set i = 0 loop exitwhen (i > 19) set udg_Timer[i] = CreateTimer() set i = i + 1 endloop .... т.е. размер массива в этом случае 19, если в триггере будет указан таймер с индексом 21, он не запустится, т.к. он не существует, он не создан. Только если пользователь не предусмотрел это заранее и не создал его.Добавлено (08 Сентября 2012, 00:11:53) ---------------------------------------------
Quote (undroidy) хммм, так значит лучше всем массивам задавать значение 8192? или если всем задавать макс. значение, то это сильно отразится на весе карты? на скорости загрузки карты это отразиться может.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
undroidy | Дата: Суббота, 08 Сентября 2012, 00:14:59 | Сообщение # 9 |
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
| ну спасибо, в общем я что-то понял
|
|
|
|
kapa6acvlk | Дата: Суббота, 08 Сентября 2012, 00:26:33 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Quote (undroidy) ну спасибо, в общем я что-то понял Короче не заморачивайся, ставь размерность, которая реально необходима и все Либо как вариант, всегда перед очередным использованием элемента массива предварительно удаляй из него объект и создавай новый, но это мне кажется неправильным.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
SirNikolas | Дата: Суббота, 08 Сентября 2012, 09:18:58 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| DragoN, автор темы имеет в виду GUI'шные массивы. Quote (kapa6acvlk) Сообщение # 8 this Как уже сказано, самые частые ошибки возникают с группами и таймерами.
|
|
|
|