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

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

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

Регистрация: Nov 2013
Сообщений: 86
По умолчанию Запись в ByteArray - что будет?

Давно беспокоит один вопрос.
Чисто теоретический - на практике нужды в этом не возникало...
Вот, предположим, я создаю такие объекты:
Код AS3:
var o:Object = new Object();
var a:Object = new Object();
var b:Object = new Object();
Затем, я присваиваю объектам a и b ссылки друг на друга:
Код AS3:
a.b = b;
b.a = a;
Затем, ссылки на них присваиваю объекту o:
Код AS3:
o.a = a;
o.b = b;
После всех этих действий я записываю объект o в ByteArray:
Код AS3:
var ba:ByteArray = new ByteArray();
ba.writeObject(o)
Теперь сам вопрос - что будет?
В ByteArray, как и положено, запишутся 3 объекта, и, когда я прочитаю объект o методом readObject(), они так же будут друг на друга ссылатся, как и было указано?
Или при записи возникнет бесконечная рекурсия из-за взаимных ссылок a и b, в результате чего выпадет какая-то ошибка или полностью забьется память?

Старый 28.03.2014, 22:08
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
И тут внезапно приходит помощь в виде AMF3 specification

Код:
1 Introduction 
1.1 Purpose
<skipped>... and support circular references while avoiding problems such as infinite 
recursion during serialization.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 28.03.2014, 23:01
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Быстрее было тест провести и самому все увидеть, чем создавать эту тему на форуме

Старый 29.03.2014, 00:53
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Может это Apocalipsis #2!

Но вообще да, неинженерский вопрос какой-то: "что будет?"

Предрекаю следующий пост ТС: "Всем спасибо, сам разобрался, вот ответ...."

Старый 29.03.2014, 01:18
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Главное, чтобы ТС не оказался KumoKairo #2!
... я скопировал все идеи, но Вам не расскажу, я же все сам... все сам... время тратил...
Вот мне без разницы, я смотрю самые лучшие варианты кода, а потом переписываю , чтобы закрепить результат.
Но если кто-то попросит поделится или рассказать, то что я точно не сделаю, так не скажу, что я все сам это придумал и что САМИ время тратьте.

Старый 29.03.2014, 10:57
FlasherEgor вне форума Посмотреть профиль Отправить личное сообщение для FlasherEgor Найти все сообщения от FlasherEgor
  № 6  
Ответить с цитированием
FlasherEgor

Регистрация: Nov 2013
Сообщений: 86
Цитата:
Может это Apocalipsis #2!
Цитата:
Главное, чтобы ТС не оказался KumoKairo #2!
Нет, я никто не #2, мне просто интересно было)
Цитата:
Быстрее было тест провести и самому все увидеть, чем создавать эту тему на форуме
Думал, конечно, провести, но как-то не хотелось потом бороться с негативными последствиями, если бы таковые возникли.
А то я как-то раз запустил одну рекурсию, пришлось комп перезагружать. =)
Цитата:
И тут внезапно приходит помощь в виде AMF3 specification
Теперь понял, спасибо) Почитаю эту статью как-нибудь.

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

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

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


 


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


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