powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Работа с массивами
11 сообщений из 11, страница 1 из 1
Работа с массивами
    #37700088
Артур1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!


Подскажите как можно перебрать массив имеющий такую структуру
arr(1) = 1
arr(2) = 1
arr(3) = 1
и т.д.


Где почитать о работе с массивами


Спасибо
...
Рейтинг: 0 / 0
Работа с массивами
    #37700251
Ahilles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Артур1,
Поясниет где этот массив и чем вы собираетесь пребрать.
Пока я вижу что это не массив, а глобаль в памяти. В М перебирается $o().
...
Рейтинг: 0 / 0
Работа с массивами
    #37700292
Артур1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обычный массив, впрочем массивы от глобалей отличаются логически ни чем, лишь местом хранения

вот нужно или найти функцию для подсчета элементов массива
или есть другой способ его перебора

SET len=$LENGTH(arr)
FOR index=1:1:len {
do $FF(arr(index))
}
...
Рейтинг: 0 / 0
Работа с массивами
    #37700336
Ahilles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s x="" f s x=$o(m(x)) q:x="" W m(x)
...
Рейтинг: 0 / 0
Работа с массивами
    #37700364
Ahilles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s x="" f__s x=$o(arr(x)) q:x=""__W !,arr(x)
;в твоем случае __-lдвойной пароль
...
Рейтинг: 0 / 0
Работа с массивами
    #37700375
Ahilles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__ двойной пробел :)
...
Рейтинг: 0 / 0
Работа с массивами
    #37700452
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ahilles
Код: vbnet
1.
2.
s x="" 
f  s x=$o(m(x)) q:x=""  W m(x)


Вот так код оформлять нужно
...
Рейтинг: 0 / 0
Работа с массивами
    #37700461
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артур1
Код: vbnet
1.
SET len=$LENGTH(arr)


Посмоти что вернёт тебе эта функция...
...
Рейтинг: 0 / 0
Работа с массивами
    #37700494
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артур1вот нужно или найти функцию для подсчета элементов массива
или есть другой способ его перебора

Это на самом деле не массив, а дерево. К примеру

Код: c#
1.
2.
3.
4.
5.
arr(1) = 1
arr(2) = 1
arr(2,1) = 3
arr(2,6) = 42
arr(3) = 1



У дерева количество узлов нужно вычислять перебором, оно не храниться.

Можно через $order для одноуровневых деревьев, или к примеру $query для многоуровневых
...
Рейтинг: 0 / 0
Работа с массивами
    #37700601
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой перебор:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
a(1) = 5
a(2) = 4
a(3) = 3
a(4) = 2
a(5) = 1

s key=""  
f {
  s key=$o(a(key),1,val)  
  q:key=""  
  w "a("_key_") = " _ val,!
}



доставать элемент можно внутри $o(rder) третьим параметром, либо отдельно обращаясь по ключу к элементу, т.е.:
Код: plaintext
1.
a(key)
...
Рейтинг: 0 / 0
Работа с массивами
    #37704500
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артур1Подскажите как можно перебрать массив имеющий такую структуру
arr(1) = 1
arr(2) = 1
arr(3) = 1
и т.д.Например, так:

  ; заполняем локальный массив № 1
  for i=1:1:5 set a(i)="Value"_i

  ; заполняем локальный массив № 2
  set arr=##class(%ArrayOfDataTypes).%New()
  for i=1:1:3  do arr.SetAt("Значение"_i,i)

  do output
  
  ; очищаем данные
  do arr.Clear()
  ; заполняем данными из другого массива
  
merge arr.Data=a

  do output

output()
  ; выводим результат
  write "Количество элементов=",arr.Count(),!
  for i=1:1:arr.Count() {
    write arr.GetAt(i),!
  }

Результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
USER>do ^test
Количество элементов=3
Значение1
Значение2
Значение3
Количество элементов=5
Value1
Value2
Value3
Value4
Value5
Артур1Где почитать о работе с массивами Multidimensional Arrays
Array Classes
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Работа с массивами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]