Есть ли способ получить количество элементов в массиве?
У меня есть массив, dim 99 и длина char 8 каждого элемента.Элементы добавляются через программу.
Что-то похожее на size
в java или ruby
Определение массива:
DCL-S docs char(8) DIM(99) descend;
Установите все как пустые и добавьте несколько строк вмассив
docs = *blanks;
docs(1) = 'doc1 ';
docs(2) = 'doc2 ';
То, что я пробовал:
// Gives 8, size of each element, not size looking for
%size(docs);
// Gives 99, size of elements
%elem(docs);
Единственное, что, кажется, работает:
SORTA(D) docs;
count = %LOOKUP(*BLANKS : docs) - 1;
// count is 2 because thats how many documents were added
Еще одна вещь, которую стоит рассмотреть, это то, что вы делаетедамп, переменные четко организованы в установленные и пустые.
DOCS CHAR(8) DIM(99)
(1) 'DOC1 '
(2) 'DOC2 '
(3-99) ' '