PDA

Просмотр полной версии : массив переменных с таблицы


gashhik
01.04.2004, 19:40
Есть заполненная переменными таблица. Как мне все эти данные записать в один массив. Или на худой конец разбить отдельно по столбцам или строкам. Это все надо сделать в двойном цикле, а то у меня не выходит!
Если у кого есть, то киньте пример!

Dindin
01.04.2004, 20:01
По моим данным в AS нет многомерных массивов, но можно создавать массивы объектов, ассоциированные массивы или паралельные массивы.
Т.е. создаешь массив, в котором каждый из элементов является массивом. Делишь таблицу по строкам, каждую из строк записываешь в массив из массива. Если пришлешь исходники, помогу кодом.


----------------------------------
а по пятам идет Nox Noctis

Nox Noctis
02.04.2004, 00:53
Оригинал написал(а) Dindin
По моим данным в AS нет многомерных массивов[/SIZE] ээ.. :) можно узнать что это значит ? :)

----------------------------------
будешь себя плохо вести - перестану ходить попятам, кто же твои сообщения будет расшифровывать ? :)

Dindin
02.04.2004, 14:27
Насколько мне известно, в Action Scripts нет МНОГОМЕРНЫХ массивов. Есть объект верхнего уровня Array , который представляет собой прототип одномерного массива, а запись

var ar = new Array ();
ar[i][j] = x;


подразумевает, что в ячейке [i] массива ar находится массив, то есть правильнее будет написать так

numElements = 4;
var ar = new Array (numElements);
for (i=0;i<ar.length;i++)
{
ar[i] = new Array ('Nox '+i,'Noctis '+i);
}


после чего получаем имитацию двумерного массива, к которому можем обращаться так:

trace (ar[2][1]);

в оутпуте читаем:
Noctis 2

Или я не прав?

Nox Noctis, я тебя не боюсь - у тебя рога, а значит ты не хищник :)

Nox Noctis
02.04.2004, 14:44
Оригинал написал(а) Dindin
после чего получаем имитацию двумерного массиватак почему "имимтацию"-то ? :))
чего тут не хватает чтобы это считалось всамделишным многомерным массивом ? :)

если, скажем, сравнивать с какими-нить сишными массивами - то можно утверждать что в АС ВООБЩЕ НЕТ массивов, равно как нет указателей на области памяти, и данные массива есть не более чем безымянные свойства объекта "массива" :)

Dindin
02.04.2004, 17:24
Спор немного не по теме, вы не находите?
В си в каждом векторе массива количество элементов одинаково, то есть память для двумерного масива выделяется на всю матрицу, даже если часть элементов пустая, а вот, например, в Java многомерный масив - это список списков, (впрочем как и в AS). Разное распределдение памяти,разная структура обращений.
Общаемся на грани флейма :)

Nox Noctis
02.04.2004, 17:55
Оригинал написал(а) Dindin
Спор немного не по теме, вы не находите?
не нахожу :)
Оригинал написал(а) Dindin
В си в каждом векторе массива количество элементов одинаково, то есть память для двумерного масива выделяется на всю матрицу, даже если часть элементов пустаяесли объявлять массив заранее - то да. размерность не может быть переменной... но ничто не мешает динамически создать хоть треугольный массив :)

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

так что, если говорить с точки зрения флэшовой идеологии, то это в сях нету массивов, а во флэше-то они как раз-таки есть :)

Оригинал написал(а) Dindin
например, в Java многомерный масив - это список списков, (впрочем как и в AS). Разное распределдение памяти,разная структура обращений.

получается что это вопрос терминологии. исключительно.
что есть "истинный массив" ? :)
упорядоченное расположение в памяти - или связные индексированные списки ?

Оригинал написал(а) Dindin
Общаемся на грани флейма :) попрошу не обобщать :)
я обсуждаю то, что считаю не правильным :) в разделе о скриптах говорим про скрипты.
какой флейм ? :)

Dindin
02.04.2004, 20:15
К всеобщей радости пришли к консенсусу :)

Во флешовом топ-левел объекте Array напрямую не реализованна поддержка многомерных массивов в том виде, в каком она есть, например, в паскале. Но никто не запрещает нам, господа флешеры, расширять этот top-level Object. Алилуя!
:)

Nox Noctis- он совсем не страшный. И улыбается часто

Nox Noctis
03.04.2004, 01:18
и несмотря на это,
убедительняа просьба признать что выражение
"в AS нет многомерных массивов"
не имеет никакого практического смысла :)

Dindin
03.04.2004, 01:54
Ок. В AS есть многомерные массивы, тока какие-то они (плоские, одномерные, не как у людей, в других я зыках лучше) - нужное подчеркнуть.

P.S. Со всей той пургой, что я тут гнал, я категорически несогласен. :)