![]() |
Interface для... Function
(касается как as2, так и as3)
Каким образом задать тип ф-ции, являющейся аргументом ф-ции? Т.е. необходимо задать строгую типизации параметров. Нужно что-то вроде интерфейса для классов пример: Код AS3:
|
Есть правило - "один вопрос - одна тема".
Так что плодите. Непонятен сам вопрос "задать тип функции". Это тип возвращаемого ей значения - как вообще его можно задать извне? Он зависит от того, что ф-ия возвращает оператором return, а не ф-ия возвращает то, что написано после двоеточия)))) Добавлено через 9 минут Код AS1/AS2:
|
Нужно что-то типа typedef. В ас такого нема. А сам тип Function вообще ни о чем не говорит.
|
Цитата:
т.е. ф-ция f - должна реализовывать некий интерфейс. тогда использование может выглядеть где-то так: Код AS3:
|
В AS, в т.ч. AS3, такого сделать не получится. Можно, конечно, как-нибудь извратиться, но это не будет ни красиво, ни быстро.
А чем, кроме проверки на этапе компиляции, не устраивает вариант, предложенный Wolsh? |
Проголосуй!
http://bugs.adobe.com/jira/browse/ASC-3853 :) Да, что я делаю, если ну оооочень надо, а производительность не важна: Код AS3:
Цитата:
|
то что Вы тут обсуждаете называет сигнатура. это там в каких-то зачатках есть в ES, но в AS ни в каких нету ( увы. тоже очень хочется.
|
А как насчет такого изврата:
Код AS3:
|
Если такая штука нужна только в некоторых компонентах приложения, их можна на haXe вообще написать, т к там это есть.
Я пишу для себя комментарии просто в коде, чтобы все это было под рукой, плюс упоминаю в asDoc комментариях. Код AS3:
|
Вобщем, я вижу только одно решение - создавать классы для каждой функции.
Класс Func1, класс Func2, класс Func3... Все эти классы поддерживают интерфейс IFunc, который предписывает им иметь метод func(a:int, b:int):String И тогда - Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 04:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.