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

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

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
По умолчанию Возврат значения функции из вложеной функции

Добавляю метод прототипу класса Array, метод загружает текстовый файл и возвращает массив из разбитого на символы текста.
Проблема в следующем: оператор return должен возвращать результат разбиения текста из файла в функции load, но делать это нужно только по окончании загрузки файла, т.е из функции onData объекта LoadVars.
Так как оператор return возвращает значение функции из которой вызван, возникает некоторый казус...
Есть ли способ вернуть значение функции из другой вложенной в неё функции ?
Вот код:
Код AS1/AS2:
Array.prototype.load = function(str:String, file:String):Array
{
	var LV:LoadVars = new LoadVars();
	LV.onData = function(s:String):Void
	{
		return s.split(str);
	};
	LV.load(file);
};
var arr:Array = new Array();
trace(arr.load("","text.txt"))
Заранее большое спасибо.


Последний раз редактировалось Fatality; 16.01.2009 в 22:48.
Старый 16.01.2009, 23:09
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
дело в том, что тут асинхронная штука. событие загрузки возникает через некоторое неопределённое время.. так что вопрошаемая задача впринципе нереализуема

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
хорошо упростим...
имеем фунции a и b
Код AS1/AS2:
function a(num)
{
 function b()
 {
   //из этой функции необходимо вернуть значения для a;
 }
 b()
}
a(1);
хотите сказать эта задача нереализуема ?

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Fatality Посмотреть сообщение
хорошо упростим...
имеем фунции a и b
хотите сказать эта задача нереализуема ?
Код AS1/AS2:
return b();
Только вот вы упростили пример до синхронного кода.

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
А ларчик просто открывался =) большое спасибо __etc, проблему с асинхронностью кода я уже решил.
Тема закрыта.

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

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

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


 


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


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