2
我在groovy中編寫了一些腳本。我需要在腳本中重用某種代碼。 我該怎麼辦?'包括'在groovy腳本中的功能
- 我可以把這個代碼的類。但它很難支持解決方案 - 部分代碼在解釋腳本中,另一部分在編譯類中
- 我可以使用'評估',但我需要重用具有返回值的函數。我嘗試了「評估」函數定義,它似乎不工作。
你能推薦的一個腳本函數的定義「包括」一些做法?
謝謝!
我在groovy中編寫了一些腳本。我需要在腳本中重用某種代碼。 我該怎麼辦?'包括'在groovy腳本中的功能
你能推薦的一個腳本函數的定義「包括」一些做法?
謝謝!
沒有必要編譯groovy腳本,你可以包括一個定義爲類的腳本就好了。
取一個文件SomeClass.groovy
class SomeClass {
def add(a,b){
return a+b
}
}
和腳本SomeScript.groovy
println(new SomeClass().add(1,1))
只要SomeClass.groovy是在CLASSPATH這將工作。
EDITS
class SomeClass {
def static add(a,b){
return a+b
}
}
電話爲:
println(SomeClass.add(1,1))
非常好,謝謝! 我能以這種方式調用課外作業嗎? –
@Pavel,如果你聲明add方法是靜態的,你可以在沒有新的情況下調用它。這可能會盡可能地接近你。查看修改。 – Mark
當然,你可以使用這個類作爲一個Mixin。 http://groovy.codehaus.org/Runtime+mixins –