0

假设我有一个SomeThings.groovy文件:

def someVar = 'abc'
def someFunc(a) {
  a + 1
}

我在类路径上使用上述文件启动 groovysh 并执行以下操作:

groovy:000> import SomeThings
===> SomeThings
groovy:000>

都好。然而:

groovy:000> someVar
Unknown property: someVar
groovy:000> someFunc(1)
ERROR groovy.lang.MissingMethodException:
No signature of method: groovysh_evaluate.someFunc() is applicable for argument types: (java.lang.Integer) values: [1]
groovy:000>

我如何引用someVarsomeFunc来自 groovysh?

4

1 回答 1

2

修改SomeThings.groovy如下:

//SomeThings.groovy
someVar = 'abc' // remove def to make variable available to shell
def someFunc(a) {
  a + 1
}

然后必须将文件load编辑到 shell,如下所示(load SomeThings.groovy也可以使用)。:h 或 :help 将显示其用法。

groovy:000> . SomeThings.groovy 
===> abc
===> true
groovy:000> someVar
===> abc
groovy:000> someFunc(1)
===> 2
groovy:000>
于 2014-10-29T00:13:57.640 回答