2009-07-14 53 views
3

由於我一直在使用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; 
} 
} 

而且我發現,有些時候,我想保持一個以上的公共職能中的每個文件...但是動作腳本限制我到每一個文件的公共定義,如果該文件定義它的自我是一個包的一部分。

因此,如果沒有使用靜態方法創建類,我怎樣才能在單個.as文件中獲得多個公共函數?

+0

什麼是反對使用類的原因嗎? – Josh 2009-07-14 17:10:57

+0

我不想在使用它們時在函數上添加前綴。例如,我想用「curried(foo,bar)」而不是「Utils.curried(foo,bar)」。 – 2009-07-14 17:54:49

回答

7

簡單的說,你不能......一個包級函數聲明,你需要每聲明的函數一個文件...

小邊注:就個人而言,我會去Josh的方式和他們的東西進入一個類...我認爲完全允許函數級聲明只是爲了向AS2提供更多的向後兼容性......沒關係,原型或永遠不會離開你的手的東西......但你想象依賴於3-4個庫,每個都通過包級功能展示其功能?首先,它完全垃圾你的自動完成(如果你的IDE提供一個),其次,你總是需要看進口,看看哪個功能來自哪裏...你提到的前綴實際上是非常有利的......但確定,這是我的意見了......

格爾茨

back2dos

相關問題