创建可在 Groovy 中导入和使用的库
Creating libraries that can be imported and used in 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")
我知道您可以将 class 文件编译成 jar 并将它们放入 class 路径,但是我需要实现的很多方法要么需要元编程,要么不会' t 与对象相关联。
抱歉,如果问题不好或不够清楚。我不确定它是否可能。
干杯
我相信您应该能够创建库并在需要时重用它们。
您需要做的就是创建 class 并添加静态方法(如果您不必创建实例),否则添加非静态方法。那么看来你已经知道后面的操作了。
例如,您可以根据您的描述为字符串、列表等创建实用程序 classes。
顺便说一下,即使您不创建库,也可以在 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")
我知道您可以将 class 文件编译成 jar 并将它们放入 class 路径,但是我需要实现的很多方法要么需要元编程,要么不会' t 与对象相关联。
抱歉,如果问题不好或不够清楚。我不确定它是否可能。
干杯
我相信您应该能够创建库并在需要时重用它们。
您需要做的就是创建 class 并添加静态方法(如果您不必创建实例),否则添加非静态方法。那么看来你已经知道后面的操作了。
例如,您可以根据您的描述为字符串、列表等创建实用程序 classes。
顺便说一下,即使您不创建库,也可以在 groovy 中编写一行来实现您可能需要的大多数情况。