Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   многомерный текстовый массив (http://www.flasher.ru/forum/showthread.php?t=72993)

Марк 09.12.2005 16:51

многомерный текстовый массив
 
Решил использовать вместо обычных переменных многомерные массивы для оптимизации кода, но есть 1 проблемка - получается работать только с одномерными.

Пример 1:
char["move"] = true;
q = char["move"]
все работает, переменной q присваивается значение, причем массив можно даже не объявлять

Пример 2
двухмерный массив
char = [[], []];
char["res"]["fire"] = 0;
q = char["res"]["fire"];

не работает как с объявлением массива так и без, q = undentified

Объявление двухмерного массива взял из этой темы :
http://www.flasher.ru/forum/showthre...E5%F0%ED%FB%E9

iNils 09.12.2005 16:55

char = [];
char["res"]=[]
char["res"]["fire"] = 5;
q = char["res"]["fire"];
trace(q)

Марк 09.12.2005 16:58

А если у меня большой массив, скажем десятки вложенных переменных ? Каждый раз придется писать по 2 строки типа
char["res"]=[]
char["res"]["fire"] = 5;
вместо 1й ?

iNils 09.12.2005 16:58

char=[[],[]];
это тоже самое, что и
char=[];
char[0]=[];
char[1]=[];

Марк 09.12.2005 17:00

ок, thx за помощь

iNils 09.12.2005 17:07

Можно написать функцию
array2D = function (array1D, arg1, arg2, value) {
if (!array1D[arg1]) {
array1D[arg1] = [];
}
array1D[arg1][arg2] = value;
};
char = [];
array2D (char, "res", "fire", 5);
array2D (char, "res", "water", 10);
q = char["res"]["fire"];
w = char["res"]["water"];
trace (q);
trace (w);

Марк 09.12.2005 17:16

да, через функцию это намного удобнее делать, еще раз thx за идею _))


Часовой пояс GMT +4, время: 16:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.