2011-11-13 66 views
2

我在groovy中編寫了一些腳本。我需要在腳本中重用某種代碼。 我該怎麼辦?'包括'在groovy腳本中的功能

  1. 我可以把這個代碼的類。但它很難支持解決方案 - 部分代碼在解釋腳本中,另一部分在編譯類中
  2. 我可以使用'評估',但我需要重用具有返回值的函數。我嘗試了「評估」函數定義,它似乎不工作。

你能推薦的一個腳本函數的定義「包括」一些做法?

謝謝!

回答

2

沒有必要編譯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)) 
+0

非常好,謝謝! 我能以這種方式調用課外作業嗎? –

+0

@Pavel,如果你聲明add方法是靜態的,你可以在沒有新的情況下調用它。這可能會盡可能地接近你。查看修改。 – Mark

+0

當然,你可以使用這個類作爲一個Mixin。 http://groovy.codehaus.org/Runtime+mixins –