ActionScript: несколько открытых функций в одном файле .as? - PullRequest
3 голосов
/ 14 июля 2009

Поскольку я работал с AS, я разработал набор служебных функций. Например:

$ cat utils/curried.as
package utils {
public function curried(f:Function, ...boundArgs):Function {
    function curriedHelper(...dynamicArgs):* {
        return f.apply(null, boundArgs.concat(dynamicArgs));
    }
    return curriedHelper;
}
}

И я обнаружил, что иногда я хочу сохранить более одной общедоступной функции в каждом файле ... Но ActionScript ограничивает меня одним общедоступным определением на файл, если этот файл определяет себя как часть пакет.

Итак, не создавая класс со статическими методами, как я могу получить более одной публичной функции в одном файле .as?

1 Ответ

7 голосов
/ 14 июля 2009

Проще говоря, вы не можете ... для объявления функции уровня пакета вам нужен один файл на объявленную функцию ...

небольшая дополнительная заметка: лично я бы пошел Джошем и запихнул их в класс ... я думаю, что разрешение объявлений на уровне функций вообще означало просто иметь немного более обратную совместимость с AS2 ... это нормально, для прототипирование или вещи, которые никогда не покинут ваших рук ... но вы представляете, что полагаетесь на 3-4 библиотеки, каждая из которых предоставляет свою функциональность через функции уровня пакета? во-первых, он полностью спамит ваше автозаполнение (если оно есть в вашей IDE), и, во-вторых, вам всегда нужно смотреть на импорт, чтобы узнать, какая функция откуда ... упомянутый префикс на самом деле имеет большое преимущество ... но хорошо это мое мнение ...

Greetz

back2dos

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...