Собственно, в этом и заключается весь вопрос. Как узнать длину массива на GUI? Заранее спасибо.

SirDragdord, заполнено чем? Ячейки массива всегда чем-то заполнены, изначально нулями.

Самый просто вариант: пройтись по массиву циклом.
Вариант получше: завести переменную counter. При присвоении чего-нибудь в свободную ячейку массива увеличивать counter на 1, при переприсвоении ничего не делать.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
Нашёл решение здесь
ответ
максимальная длина массива 8192
ты врёшь
хотя бы потому что нельзя нормально устанавливать длину массива(можно лишь увеличить его размер ещё на 8192,но это только в сиджасс)
короче размер массива фиксирован
ответ
Ige, да о чем вы говорите. ИМХО, самое оптимальное предложение содержится в 3 комментарии.
И еще тут много лишних функций. Да и просто первый признак jass - отсутствие бж за исключением дебага( хоть мои слова кажется трепом и выпендрежем, но без чистого скрипта на нативах.... )
ответ
Это число обозначает, сколько элементов массива заполняется в начале игры значением по умолчанию. Настоящий размер массива всегда 8192.
Т.е. если ты ставишь "Раз. 3" и "Нач. знач. 1", то первые 3 элемента массива будут равны 1, а значение следующих будет неопределенным.

21
Нельзя, когда заносите новые данные просто сохраняйте новую длину в другой переменной. Также учитывайте, что максимальный размер массива для патча 1.29+ = 32768, для 1.29- = 8192.
28
Длина массива в WC3 (в JASS) всегда фиксированная. До патча 1.29 его размер 8192 (ячейки с 0 по 8191 включительно). В 1.29+ размер в 4 раза больше.

"Размер", что устанавливается в настройке переменной, определяет, скольким ячейкам будет присвоено указанное начальное значение. Если ты установил размер на Х, начальное значение на A, то ячейкам 0, ..., Х будет присвоено A.
21
PT153, там вроде сперва создаётся 1024 ячеек, если они все полносьб заполнятся, то выделяются еще 1024 и так до 8192.
9
PT153:
Длина массива в WC3 (в JASS) всегда фиксированная. До 1.29 его размер 8192 (ячейки с 0 по 8191 включительно). В 1.29+ размер в 4 раза больше.

"Размер", что устанавливается в настройке переменной, определяет, скольким ячейкам будет присвоено указанное начальное значение. Если ты установил размер на Х, начальное значение на A, то ячейкам 0, ..., Х будет присвоено A.
Как я понял, я не совсем корректно задал вопрос. Скорее он должен звучать так: Как узнать сколько ячеек массива уже заполнено?
28
SirDragdord, заполнено чем? Ячейки массива всегда чем-то заполнены, изначально нулями.

Самый просто вариант: пройтись по массиву циклом.
Вариант получше: завести переменную counter. При присвоении чего-нибудь в свободную ячейку массива увеличивать counter на 1, при переприсвоении ничего не делать.
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.