Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.07.2006, 15:40
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 11  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от motor4ik
я что то не понял в чем прикол функции arrayN?
А такая вещь не смущает?
Код:
a = [];
a[5] = 6;
trace (a);
//undefined,undefined,undefined,undefined,undefined,6
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.07.2006, 15:47
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 12  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от iNils
Код:
arrayN = function (arrayName, arrayD, arg) {
	if (!this[arrayName]) {
		this[arrayName] = [];
	}
	var arrayTemp = this[arrayName];
	var len = arrayD.length - 1;
	for (var i = 0; i < len; i++) {
		if (!arrayTemp[arrayD[i]]) {
			arrayTemp[arrayD[i]] = [null];
		}
		arrayTemp = arrayTemp[arrayD[i]];
	}
	arrayTemp[arrayD[len]] = arg;
};
arrayN ('c', [1, 1], 50);
arrayN ('a', [5, 2, 3, 6], 100);
arrayN ('a', [5, 2, 3, 7], 200);
trace (c[1][1]);
trace (a[5][2][3][6]);
trace (a[5][2][3][7]);
А вот еще вопрос. Не могу сообразить, как изменить вашу функцию так, чтобы она создавала элементы глобальных массивов...

Вызов в стиле arrayN ('_global.c', [1, 1], 50); при проверке содержимого как trace (c[1][1]); дает undefined.

А при при попытке сделать так

Код:
_global.c=new Array();
arrayN ('c', [1, 1], 50);
получается так что глобальными создаются элементы основного массива, а элементы второй размерности - не глобальные.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 28.07.2006, 15:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 13  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от iNils
доступна везде и даже до ее определения[/code]
Компилятор "поднимает" функции наверх, поэтому и доступно всегда. Литералы удобны тем, что компилятор их никуда не двигает.

Старый 28.07.2006, 15:58
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 14  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от __etc
Компилятор "поднимает" функции наверх, поэтому и доступно всегда. Литералы удобны тем, что компилятор их никуда не двигает.
Код:
a ();
function a () {
};
//// результат
    function a ()
    end

    push 0.0, 'a'
    callFunction
    pop
Код:
a ();
a = function () {
};
//// результат
    constants 'a'  
    push 0.0, 'a'
    callFunction
    pop
    push 'a'

    function ()
    end
    setVariable
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.07.2006, 16:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 15  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну, собственно, так и есть)

Старый 28.07.2006, 16:04
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 16  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
А про создание глобальных массивов так никто ничего и не скажет?
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 28.07.2006, 16:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от xintrea
А про создание глобальных массивов так никто ничего и не скажет?
Переписал
Код:
Array.prototype.arrayN = function (arrayD, arg) {
	var arrayTemp = this;
	var len = arrayD.length - 1;
	for (var i = 0; i < len; i++) {
		if (!arrayTemp[arrayD[i]]) {
			arrayTemp[arrayD[i]] = [null];
		}
		arrayTemp = arrayTemp[arrayD[i]];
	}
	arrayTemp[arrayD[len]] = arg;
};
//////////////
_global.arrayA = new Array ();
arrayA.arrayN ([5, 2, 3, 6], 100);
arrayA.arrayN ([5, 2, 3, 7], 200);
arrayB = [2, 2];
arrayB.arrayN ([2, 0, 0, 1], 300);
/////////////
trace (arrayA[5][2][3][6]);
trace (arrayA[5][2][3][7]);
trace (arrayB[0]);
trace (arrayB[1]);
trace (arrayB[2][0][0][1]);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.07.2006, 16:30
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 18  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
2 iNils

Данке шен дарагой таварищ, все работает!
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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