首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GroovyShell().parse传递参数

GroovyShell().parse传递参数
EN

Stack Overflow用户
提问于 2014-06-11 04:50:40
回答 1查看 4.3K关注 0票数 3

我有一个groovy脚本,需要从外部groovy脚本中解析一个类。我不知道如何传递参数。以下是起作用的原因:

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

代码语言:javascript
复制
new GroovyShell().parse(new File('External.groovy'))

下面是external.groovy的样子:

代码语言:javascript
复制
class External {
    public external() {
        println "Hello"
    }
}

它起作用了。

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

代码语言:javascript
复制
class External {
    public external(String name) {
        println name
    }
}

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

代码语言:javascript
复制
new GroovyShell().parse(new File('external.groovy')) //need to include the 'Name' parameter to this
EN

回答 1

Stack Overflow用户

发布于 2014-06-11 16:22:01

  1. parse只解析您的文件而不执行它
  2. 你还得给run打电话
  3. 您需要实例化您的文件,并且需要调用您的方法并给它提供参数。
  4. 您需要通过Binding对象给出参数

这是课程和电话

代码语言:javascript
复制
class External {
     public external(String name) {
        println name
    }
}
new External.external(somename)

然后

代码语言:javascript
复制
def bindings = new Binding()
bindings.setVariable("somename", "mrhaki")
def shell = new GroovyShell(bindings)
shell.parse(new File('external.groovy'))
shell.run()
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24154876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档