Как работать с массивами в cJass? В статьях не нашёл нужной информации. Имеется такой код:
		integer abilities[]
       	abilities[0] = 'A02N'
        abilities[1] = 'A02O'
        abilities[2] = 'A02P'
        abilities[3] = 'A02Q'
        
        integer index = 0
        whilenot (index > 3)
        {
            // ...
            
            index++
        }
Можно ли его как-то сократить, сделать лучше?
Есть ли в cJass инициализатор массива? Что-то вроде:
	integer abilities[] = {1, 2, 3}
Можно ли узнать размер массива (количество не null элементов или номер последнего не null элемента)? Какой-нибудь Array.size.

Можно ли его как-то сократить, сделать лучше?
for (integer index = 0; index <= 3; index++) { }
Для инициализации массива можно использовать initializer из library, указанная функция исполнится при запуске карты, да и как раз поделишь программу на модули
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
всегда по ссылке для handle-типов, всегда по значению для остальных
изменить это невозможно
никак, использовать глобалку, куда сохранять локалку перед нулением
нет, нету
ну или аналоги всего этого есть в продвинутых редакторах, не знаю, пусть те, кто ими пользуются, скажут

15
Массив это примитивная коллекция данных. Оно для этого не предназначено.
Для твоей задачи нужен либо vJass массив как объект, либо реализация списка.
18
Можно ли его как-то сократить, сделать лучше?
for (integer index = 0; index <= 3; index++) { }
Для инициализации массива можно использовать initializer из library, указанная функция исполнится при запуске карты, да и как раз поделишь программу на модули
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.