![]() |
Как вызвать функцию функции класса?
Здравствуйте. Подскажите, пожалуйста. :)
Есть два класса: //Главный. Код AS3:
Код AS3:
А как я могу обратиться к функции (локальной функции) функции ForWork? |
Поставить модификатор public перед определением локальной функции и обратиться через оператор "."
А вообще странно, проще сделать полноценный класс Код AS3:
И насчет обязательного параметра - в определении надо (для компилятора не критично) писать тип входного параметра |
Цитата:
Добавлено через 2 минуты Цитата:
Код AS3:
|
Цитата:
На самом деле это анонимная функция (и не важно, что у неё есть имя) Это то же самое, что: Код AS3:
Так что можно не морочить себе голову и забыть про эту функцию как про страшный сон |
Цитата:
|
Цитата:
Цитата:
Но: 1. В этих языках они чаще используются не чтобы обработать что-то асинхронно по месту, а чтобы лаконично завернуть функциональную обработку данных 2. В этих языках есть оптимизации лямбды (например по возможностьи несоздание второго экземпляра лямбды), либо проблемы с лямбдами меркнут на фоне общей тормознутости языка (как в Python) 3. Даже в Python запретили делать анонимки размером больше одного выражения Потому что читабельность падает! Почему анонимки в AS3 плохо: - не первый раз здесь это говорю, но на одном проекте после истребления анонимок потребление памяти упало с 800 до 200 Mб. Вобщем, надо быть _очень_ аккуратным, чтобы ничего не потекло при использовании анонимок - нет никаких оптимизаций - создаются при каждом упоминании, захватывают весь контекст, даже если не надо, не обрабатываются JIT-компилятором - падает производительность - просто доступ к обычным переменным становиться медленнее в разы(!) - читабельность ухудшается. |
Dip52, да, все именно так
Таки сделайте лучше полноценный класс) |
Цитата:
Я сделаю, как вы говорите, но мне интересно, как это (в смысле функция внутри функции) будет выглядеть. Сейчас просто эту тему прохожу у Колина Мука. Добавлено через 37 секунд Цитата:
|
Цитата:
Создайте обычный метод класса рядом, не надо его внутрь другого метода пихать Цитата:
Если эти битмапы были в объекте - к объекту можно достучаться и переназначить их на более актуальные, а к захваченному функцией контенту - не достучишься - пока функция нужна - весь неактуальный мусор будет висеть в памяти. А если представить что в одних анонимках, захвативших контекст в добавок создаются другие анонимки - уже захватывается и контекст главной анонимки и контекст ранее её захваченный у нормального метода - получается такое дерево из анонимок. И пока _все_ ссылки на все анонимки этого дерева не похеришь - контексту нормального метода не видать сборщика мусора как своих ушей :) |
| Часовой пояс GMT +4, время: 20:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.