在Groovy Shell执行期间发出局部变量值
假设我们有以下Groovy脚本:在Groovy Shell执行期间发出局部变量值,groovy,groovyshell,Groovy,Groovyshell,假设我们有以下Groovy脚本: temp = a + b temp * 10 现在,假设a和b使用各自的值绑定到上下文,并且脚本使用groovy shell脚本执行 是否有一种方法可以获得temp变量赋值的值,而无需将值打印/记录到控制台?例如,给定a=2和b=3,我不仅想知道脚本返回了50,还想知道temp=5。是否有办法截取每个赋值以获取值 如有任何建议或选择,我们将不胜感激。提前谢谢 通过将实例传递给GroovyShell对象,可以从脚本捕获所有绑定和分配。考虑下面的例子: def b
temp = a + b
temp * 10
现在,假设a
和b
使用各自的值绑定到上下文,并且脚本使用groovy shell脚本执行
是否有一种方法可以获得temp
变量赋值的值,而无需将值打印/记录到控制台?例如,给定a=2
和b=3
,我不仅想知道脚本返回了50
,还想知道temp=5
。是否有办法截取每个赋值以获取值
如有任何建议或选择,我们将不胜感激。提前谢谢 通过将实例传递给
GroovyShell
对象,可以从脚本捕获所有绑定和分配。考虑下面的例子:
def binding = new Binding()
def shell = new GroovyShell(binding)
def script = '''
a = 2
b = 3
temp = a + b
temp * 10
'''
println shell.run(script, 'script.groovy', [])
println binding.variables
运行此脚本会将以下两行打印到控制台:
50
[args:[], a:2, b:3, temp:5]
如果要访问temp
脚本变量的值,只需执行以下操作:
binding.variables.temp
你就是那个人!谢谢你给我指明了正确的方向。