2017-04-12 37 views
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") 

我知道你可以编译的类文件放到罐子并把它们放到类路径中,但是我需要实现的很多方法要么需要元编程,要么不会与对象关联。

对不起,如果它是一个坏问题或不够清楚。我不确定它是否可能。

干杯

回答

1

我相信你应该能够创建库并在需要时重用它们。

所有你需要做的就是创建类并添加静态方法,如果你不需要创建实例,则使用非静态方法。然后看起来你已经意识到如何在以后继续。

例如,您可以根据您的描述为String,List等创建实用程序类。

顺便说一下,即使您不创建库,甚至可以在groovy中编写一行来实现您可能需要的大部分情况。

+0

我试图避免使用静态方法,如Foo.bar(),但它看起来像这将是最好的选择类表示法。 至于在String和List等库中创建实用方法,在创建子类的时候,最好的方法是使用元编程。是否有可能创建一个可导入的String.metaClass。*方法库? 干杯 – rhysvo