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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 30.06.2009, 02:24
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 11  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а ну тогда, конечно, всё хорошо

Старый 30.06.2009, 03:12
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 12  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
ну и отлично )
конешно офтоп, но не просветите ли или подкиньте ссылочку по пунктам 2 и 4

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

Регистрация: Sep 2002
Сообщений: 30,784
Так все хорошо же, не забивайте голову ненужными вещами. Вложенные функции рулят.

Старый 30.06.2009, 11:09
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 14  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
__etc, ты думаешь он оценил сарказм и иронию?

Старый 30.06.2009, 11:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 15  
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
jaa_breath :
сохраните ссылку на функцию куда-нибудь, а потом проверьте на равенство с ссылкой на нее же, только созданную повторно врезультате повторного вызова родительской функции.
То что что-то хорошо работает в других языках не имеет вообще никакого отношения к тому, как это работает в AS - можете попробовать 1 раз прыгнуть из самолета с парашютом и один раз без - действие примерно одинаковое, а результат разный.
__________________
Hell is the possibility of sanity

Старый 30.06.2009, 12:01
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 16  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
Цитата:
Сообщение от __etc Посмотреть сообщение
Так все хорошо же, не забивайте голову ненужными вещами. Вложенные функции рулят.
ну с BlooDHounD фсе понятно )) а с вами то что ? )

Добавлено через 3 минуты
Цитата:
Сообщение от wvxvw Посмотреть сообщение
jaa_breath :
сохраните ссылку на функцию куда-нибудь, а потом проверьте на равенство с ссылкой на нее же, только созданную повторно врезультате повторного вызова родительской функции.
То что что-то хорошо работает в других языках не имеет вообще никакого отношения к тому, как это работает в AS - можете попробовать 1 раз прыгнуть из самолета с парашютом и один раз без - действие примерно одинаковое, а результат разный.
функция чисто математическое понятие, и думаю что с этим не будут спорить.
другое дело, если в as3 к примеру они ведут себя так же как и в javascript (ecma script), то есть функция это обьект, тогда их возможно сравнить, как раз это видимо вы и пытаетесь сказать своим постом.

p.s. раз вы заговорили про парашюты и самолет.. ну имею более 500 прыгофф )) и не только с самолетоф.. ) только не ясно зачем прыгать без ??
или вы о том что я в самом начале писал, для каждого есть свой случай, т.е. анонимные функции просто не везде подходят хорошо


Последний раз редактировалось jaa_breath; 30.06.2009 в 12:11.
Старый 30.06.2009, 12:26
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от jaa_breath Посмотреть сообщение
ну с BlooDHounD фсе понятно )) а с вами то что ? )
Со мной все прекрасно. А что не так с BlooDHounD?

Старый 30.06.2009, 12:43
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 18  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
откуда я знаю, может полного осознания еще нет того что пытается рассказать.
и может оставим эту скучную тему и по делу лучше поговорим, полезнее же )

Старый 30.06.2009, 12:45
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 19  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
все тесты проводились во Flash CS4

2. имеют кривую типизацию.
Код AS3:
import flash.events.EventDispatcher;
function test():Function {
	return function() {
		return 0;
	}
}
var dispatcher = new EventDispatcher();
dispatcher.addEventListener( 'test', test() );	// всё окей
dispatcher.addEventListener( 'test', test );	// ArgumentError: Error #1063
dispatcher.dispatchEvent( new Event( 'test' ) );
это значит, что анонимные функции не имеют сигнатуры.


3. жрут больше памяти.
Код AS3:
import flash.sampler.getSize;
function test():Function {
	return function() {
		return 0;
	}
}
trace( getSize( test ) );	// 32
trace( getSize( test() );	// 666
разница в 20 раз


4. у них плавающий объект активации.
Код AS3:
function test():Function {
	trace( '1', this );
	return function() {
		trace( '2', this );
	}
}
 
test()();
// 1 [object MainTimeline]
// 2 [object global]
 
var f:Function = test();
f();
// 1 [object MainTimeline]
// 2 [object MainTimeline]
 
var o = {};
test.call( o );
f.call( o );
//1 [object MainTimeline]
//2 [object Object]
афигенные результаты!


5. от них проблемно отписываться.
Код AS3:
import flash.events.EventDispatcher;
function test():Function {
	return function() {
		return 0;
	}
}
var dispatcher = new EventDispatcher();
dispatcher.addEventListener( 'test', test() );
как отписаться от такого метода снаружи?



6. их нельзя сравнивать друг с другом.
Код AS3:
function test():Function {
	return function() {
		return 0;
	}
}
trace( test() === test() ) // false;
trace( test === test ); // true
соответсвенно потеря ссылки на метод приводит нас к пунктам 1 и 5


Последний раз редактировалось etc; 02.07.2009 в 13:44.
Старый 30.06.2009, 12:54
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 20  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
для начала давайте определимся в терминах и их обозначениях:

test - это ссылка на функцию (т.е обьект, так как в as3 функция это обьект)
test() - это результат выполнения функции
все правильно ?

так какие притензии то к ним ? не умеете обращаться с ними так научитесь
чес слово не понимаю ваших проблем

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

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

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


 


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


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