Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как получить переменную внутри функции обработчика события? (http://www.flasher.ru/forum/showthread.php?t=127225)

Smrad 08.07.2009 21:34

Цитата:

Сообщение от dimarik (Сообщение 834034)
Судя по коду JavaScript из того примера, as3 прекрасно умеет замыкать функции =)

Код AS3:

function createCounter() {
  var numberOfCalls = 0;
  return function() {
      return ++numberOfCalls;
  }
}
var fn = createCounter();
trace(fn()); //1
trace(fn()); //2
trace(fn()); //3


Ну, всё-таки, это не совсем то, чего хотелось бы.

wvxvw 08.07.2009 21:45

Это один в один пример из википедии - а чего вам хотелось бы? :)
кроме того, в АС так лучше не делать.

Smrad 09.07.2009 10:48

Цитата:

Сообщение от wvxvw (Сообщение 834091)
Это один в один пример из википедии - а чего вам хотелось бы? :)
кроме того, в АС так лучше не делать.

Ну, хотелось бы замыкать на локальный контекст, т.е. чтобы для стека замыкания создавалась копия стека контекста, грубо говоря, чтобы работал сабж.
А почему в АС так не нужно делать, где я упускаю?

iNils 09.07.2009 11:39

Цитата:

А почему в АС так не нужно делать, где я упускаю?
Был у вас Запорожец (AS1), на котором вы за картошкой ездили. Теперь у вас Mercedes S600 (AS3), а вы на нем тоже в поле за картошкой поедете?

Smrad 09.07.2009 12:22

Цитата:

Сообщение от iNils (Сообщение 834190)
Был у вас Запорожец (AS1), на котором вы за картошкой ездили. Теперь у вас Mercedes S600 (AS3), а вы на нем тоже в поле за картошкой поедете?

Я AS1/AS2 в глаза не видел, поэтому не уверен, что правильно понял мысль. Чем лямбда мешает AS3? Само-собой я не говорю о подписке на лямбду,

BlooDHounD 09.07.2009 12:51

http://www.flasher.ru/forum/showpost...77&postcount=7
http://www.flasher.ru/forum/showpost...4&postcount=19

Smrad 09.07.2009 13:14

Цитата:

Сообщение от BlooDHounD (Сообщение 834217)

Всё ясно, не кто не против лямбды, просто она криво реализована в as3.

BlooDHounD 09.07.2009 15:45

Smrad, просто она не нужна в АС3.

DeliMIter 09.07.2009 15:57

Цитата:

Сообщение от BlooDHounD (Сообщение 834257)
Smrad, просто она не нужна в АС3.

Последнее слово лишнее.

Smrad 09.07.2009 18:08

Цитата:

Сообщение от DeliMIter (Сообщение 834265)
Последнее слово лишнее.

Ага, а особенно бесполезна в функциональных языках ;).

Добавлено через 6 минут
Цитата:

Сообщение от BlooDHounD (Сообщение 834257)
Smrad, просто она не нужна в АС3.

Зачем добавлять в язык ненужные возможности?


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

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