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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.05.2009, 13:31
yorlin вне форума Посмотреть профиль Отправить личное сообщение для yorlin Найти все сообщения от yorlin
  № 1  
Ответить с цитированием
yorlin
 
Аватар для yorlin

Регистрация: Nov 2008
Сообщений: 109
По умолчанию Бага AS3?

Вобщем динамически создаю поля ввода, заношу в них значения, далее по этим значениям формирую параллельно 2 массива. Один массив который я использую, второй хроню как копию, чтобы были неизмененные исходные данные. По ходу работы меняется только второй массив, далее очищаю второй и записываю значения во второй из первого фором, любым способом, что push(), что arr1[i] = Arr2[i], не важно, эффект один и тот же: теперь когда меняем второй массив меняется и первый. Каким образом, особенно записывая значения первого во второй через push(), изменение второго влияют на первый?

Старый 27.05.2009, 13:35
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 2  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Цитата:
...и записываю значения во второй из первого... arr1[i] = Arr2[i]
Так вы записываете в первый из второго)

А по теме: "Присваивание массива выполняется по ссылке, а не по значению. Когда одна переменная массива присваивается другой переменной массива, они обе относятся к одному и тому же массиву"((с) help)
__________________
2+2=5


Последний раз редактировалось BeDLiNt; 27.05.2009 в 13:44.
Старый 27.05.2009, 13:37
yorlin вне форума Посмотреть профиль Отправить личное сообщение для yorlin Найти все сообщения от yorlin
  № 3  
Ответить с цитированием
yorlin
 
Аватар для yorlin

Регистрация: Nov 2008
Сообщений: 109
Опечатался, arr2[i] = Arr1[i], но это я просто то что пробовал, а суть вопроса именно когда записываем при помощи push()...arr1.push(arr2[i])

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

Регистрация: Sep 2002
Сообщений: 30,784
А как вы формируете два массива?

Старый 27.05.2009, 13:41
divinus вне форума Посмотреть профиль Отправить личное сообщение для divinus Найти все сообщения от divinus
  № 5  
Ответить с цитированием
divinus
 
Аватар для divinus

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
скорее всего хранятся не объекты а ссылки на объекты которые вы и передаете из первого во второй...
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 27.05.2009, 13:43
yorlin вне форума Посмотреть профиль Отправить личное сообщение для yorlin Найти все сообщения от yorlin
  № 6  
Ответить с цитированием
yorlin
 
Аватар для yorlin

Регистрация: Nov 2008
Сообщений: 109
Код AS3:
private var arrOfbPoints:Array = new Array();
private var copyOfArrOfbPoints:Array = new Array();
 
public function form():void
{
	for (var j:int = 0;j < inputs.length;j++)
	{
		if (inputs[j].text == "")
		{
			arrOfbPoints[j].pValue = -1;
			copyOfArrOfbPoints[j].pValue = -1;
		}
		else
		{
			arrOfbPoints[j].pValue = int(inputs[j].text);
			copyOfArrOfbPoints[j].pValue = int(inputs[j].text);
		}
	}
}
Добавлено через 3 минуты
Ошибку понял, всем спасибо)))

Добавлено через 5 минут
Цитата:
Сообщение от divinus Посмотреть сообщение
скорее всего хранятся не объекты а ссылки на объекты которые вы и передаете из первого во второй...
Так точно.


Просьба к модераторам закрыть тему.


Последний раз редактировалось yorlin; 27.05.2009 в 13:50.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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