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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.04.2014, 16:56
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 1  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию Сортировка Wrappers

Второй день пошел, как я пытаюсь разобраться в этом вопросе, но без результатно.
Такое чувство, что упускаю что-то очень простое и кажется, что я уже сталкивался с подобным,
но сейчас в голову вообще не чего не приходит.
Код AS3:
package 
{
	import flash.display.Sprite;
 
	public class Test extends Sprite
	{
 
		public function Test()
		{
			var nodes:Node;
			for (var i:int = 0; i < 3; i++) 
			{
				nodes = new Node(i, nodes);
			}
			var node:Node = nodes;
			// делаю проверку
			while (node)
			{
				trace(node.data, node.next, node.prev);
				node = node.next;
			}
			// трейс выводится такой, какой я и ожидал
			//2 [object Node] null
			//1 [object Node] [object Node]
			//0 null [object Node]
 
			node = nodes;
			var helpNode:Node = new Node(NaN);
			while (node)
			{
				helpNode.data = node.data;
				helpNode.next = node.prev;
				helpNode.prev = node.next
				helpNode = helpNode.prev// если закомментировать эту строчку то 
				// в трей выводится то же самое, что и в первый раз
				// а если не комментировать, то выводится 
				//2 [object Node] null
				//1 [object Node] [object Node]
				//2 null null
				// почему так ? Ведь я не изменяю node, а лишь
				// обращаюсь к его свойствам...
				trace(node.data, node.next, node.prev);
				node = node.next;
			}
		}
	}
 
}
class Node
{
	public var data:*;
	public var next:Node;
	public var prev:Node;
	public function Node(data:Object, next:Node = null)
	{
		this.data = data;
		if (next)
		{
			next.prev = this;
			this.next = next;
		}
	}
}
Добавлено через 13 минут
Вот так всегда, только спросишь и тут же ответ приходит.

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

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

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


 


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


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