Поскольку я работал с AS, я разработал набор функций утилиты. Например:ActionScript: Несколько открытых функций в одном файле .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
?
чем причина против использования класса? – Josh
Я не хочу иметь префикс для функций, когда я их использую. Например, я хочу использовать «curried (foo, bar)» вместо «Utils.curried (foo, bar)». –
Мне нужно было спросить об этом, почему бы не использовать несколько файлов? AS3 допускает одно публичное объявление в файле, это то же самое для функций, что и для классов. Разве не имеет смысла хранить один файл? (дисковое пространство дешево, и вы все равно можете импортировать дикие карты). Я не понимаю предложения по размещению функций как статических методов в классе. Класс - это отличная абстракция, чем функция. Люди делают это на Java, просто потому, что язык не позволяет выполнять автономные функции. –