当我与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
文件中获得多个公共函数?
答案 0 :(得分:7)
简单地说,你不能......对于包级别的函数声明,每个声明的函数需要一个文件...
小方面注意:就个人而言,我会按照Josh的方式将它们填入一个类......我认为允许功能级别声明只是为了向AS2提供更多的向后兼容性...这没关系,对于原型设计或永远不会离开你手中的东西......但你想象依赖3-4个库,每个库都通过包级函数展示它们的功能?首先,它完全阻止你的自动完成(如果你的IDE提供了一个),其次,你总是需要查看导入以查看哪个函数来自哪里...你提到的前缀实际上是非常有利的......但是好的,这是我的意见......格尔茨
back2dos