gpt4 book ai didi

GroovyShell().parse 传递参数

转载 作者:行者123 更新时间:2023-12-04 00:36:16 27 4
gpt4 key购买 nike

我有一个 groovy 脚本需要从外部 groovy 脚本解析一个类。我不确定如何传递参数。这是有效的:

我正在运行的 Groovy 脚本使用这一行从 external.groovy 解析外部类:

new GroovyShell().parse(new File('External.groovy'))

这是 external.groovy 的样子:

class External {
public external() {
println "Hello"
}
}

有效。

我遇到的问题是,我找不到将参数传递给外部方法的方法。 external.groovy 应该是这样的:

class External {
public external(String name) {
println name
}
}

如何向运行脚本添加参数:

new GroovyShell().parse(new File('external.groovy')) //need to include the 'Name' parameter to this

最佳答案

  1. parse 只解析你的文件,不执行它
  2. 你还必须调用run
  3. 你需要实例化你的文件并且你需要调用你的方法并给它参数
  4. 你需要通过一个Binding对象给参数

这是类和调用

class External {
public external(String name) {
println name
}
}
new External.external(somename)

然后

def bindings = new Binding()
bindings.setVariable("somename", "mrhaki")
def shell = new GroovyShell(bindings)
shell.parse(new File('external.groovy'))
shell.run()

关于GroovyShell().parse 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24154876/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com