0
目前,我正在開發一個項目,以從我公司的內部腳本語言(面向對象並將其他語言的相當多功能)轉換爲Groovy,該項目具有很多類似的功能。創建可在Groovy中導入和使用的庫
爲了讓代碼儘可能接近原始狀態,我試圖讓某些函數名和參數保持不變。爲了迎合這一點,我想寫一組可以導入的庫。
例如,假設我有原始腳本語言的內置方法, 我希望能夠在groovy文件中編寫此方法的定義,然後可以在需要時導入該方法,並且方法可能會叫做。
Tools.groovy
// filename: Tools.groovy
public String foo(String bar) {
return bar;
}
,並在另一個文件
Main.groovy
// filename: Main.groovy
import Tools;
String bat = foo("bar")
我知道你可以編譯的類文件放到罐子並把它們放到類路徑中,但是我需要實現的很多方法要麼需要元編程,要麼不會與對象關聯。
對不起,如果它是一個壞問題或不夠清楚。我不確定它是否可能。
乾杯
我試圖避免使用靜態方法,如Foo.bar(),但它看起來像這將是最好的選擇類表示法。 至於在String和List等庫中創建實用方法,在創建子類的時候,最好的方法是使用元編程。是否有可能創建一個可導入的String.metaClass。*方法庫? 乾杯 – rhysvo