Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Запись в ByteArray - что будет? (http://www.flasher.ru/forum/showthread.php?t=207172)

FlasherEgor 28.03.2014 20:29

Запись в 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, в результате чего выпадет какая-то ошибка или полностью забьется память?

dimarik 28.03.2014 22:08

И тут внезапно приходит помощь в виде AMF3 specification

Код:

1 Introduction
1.1 Purpose
<skipped>... and support circular references while avoiding problems such as infinite
recursion during serialization.


caseyryan 28.03.2014 23:01

Быстрее было тест провести и самому все увидеть, чем создавать эту тему на форуме

KumoKairo 29.03.2014 00:53

Может это Apocalipsis #2!

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

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

Akopalipsis 29.03.2014 01:18

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

FlasherEgor 29.03.2014 10:57

Цитата:

Может это Apocalipsis #2!
Цитата:

Главное, чтобы ТС не оказался KumoKairo #2!
Нет, я никто не #2, мне просто интересно было)
Цитата:

Быстрее было тест провести и самому все увидеть, чем создавать эту тему на форуме
Думал, конечно, провести, но как-то не хотелось потом бороться с негативными последствиями, если бы таковые возникли.
А то я как-то раз запустил одну рекурсию, пришлось комп перезагружать. =)
Цитата:

И тут внезапно приходит помощь в виде AMF3 specification
Теперь понял, спасибо) Почитаю эту статью как-нибудь.


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

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