2011-11-13 69 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 –