Может глупый вопрос, но можно ли в библиотеке указать дефолтное значение глобального массива, как при стандартном объявлении глобалок?
Поглядел, как инициализируются стандартные глобалки:
function InitGlobals takes nothing returns nothing
local integer i=0
set i=0
loop
exitwhen(i>1)
set udg_Var[i] = 666
set i=i+1
endloop
итд.
Понятно, что можно каждую переменную циклом прогонять, заполняя. Но как то трудоемко получится, если будет много глобалок.

Принятый ответ

Лучше так не делать и юзать getter/setter
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
28
6 лет назад
Отредактирован PT153
0
Стандартные глобалки, как ты видишь, дают значение в ячейки 0 и 1, на остальные забивают. Сам сталкивался с "багом" стандартного массива групп: создаются только группы в ячейке 0 и 1, остальные null.
local integer i=0
set i=0
Первой строки достаточно.
Дефолтное значение у хендлов и, по-моему, у строк null, у логических false, у действительных чисел 0., у целых чисел 0. Это распространяется на массивы и хештаблицы, на единичные переменные это не действует.
0
26
6 лет назад
Отредактирован Hate
0
непроканало(
а почему должно?
Понятно, что можно каждую переменную циклом прогонять, заполняя.
НУЖНО, каждую прогонять и заполнять. что, есть какие то другие способы?
0
25
6 лет назад
0
Стандартное объявление глобалок позволяет указать до какого элемента, нужно заполнить дефолтным значеним. Вот и подумалось, вдруг есть функция волшебная, которую компилятор превратит в цикл с заполнением.
Аля GlobalIni(GlobalName,Count,Value)
Или integer array MyArray (Count,Value)
0
37
6 лет назад
0
Лучше так не делать и юзать getter/setter
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.