在Python中,我可以使用exec(string)执行任意代码。我怎么能在Groovy中这样做?我希望代码在我当前运行的应用程序的上下文中执行,而不是像我使用的是Groovy shell。
答案 0 :(得分:5)
在Groovy中动态执行命令行程序:
"cmdstring".execute().text
您还可以执行包含在String中的一些Groovy代码:
def myGroovyCode = 'println "hi"'
Eval.me(myGroovyCode) //prints hi
答案 1 :(得分:1)
您还可以通过绑定机制将当前上下文参数传递给Groovy Shell。
def myname = 'Inigo Montoya'
def binding = new Binding( [ myname:myname ] )
new GroovyShell( binding ).evaluate( 'println "My Name is " + myname' )