![]() |
|
||||||||||
|
|||||
|
Решил использовать вместо обычных переменных многомерные массивы для оптимизации кода, но есть 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 Последний раз редактировалось Марк; 09.12.2005 в 16:56. |
|
|||||
|
А если у меня большой массив, скажем десятки вложенных переменных ? Каждый раз придется писать по 2 строки типа
char["res"]=[] char["res"]["fire"] = 5; вместо 1й ? |
|
|||||
|
ок, thx за помощь
Последний раз редактировалось Марк; 09.12.2005 в 17:05. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Можно написать функцию
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); |
|
|||||
|
да, через функцию это намного удобнее делать, еще раз thx за идею _))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|