题
我在运行时在上下文中有一个带有未知数量变量的groovy脚本,如何找到它们并打印每个变量的名称和值?
解决方案
好吧,如果您使用的是一个简单的脚本(不使用“def”关键字),您定义的变量将存储在绑定中,您可以像这样得到它们:
foo = "abc"
bar = "def"
if (true) {
baz = "ghi"
this.binding.variables.each {k,v -> println "$k = $v"}
}
打印:
foo = abc
baz = ghi
args = {}
bar = def
我不知道一种简单的方法来枚举用“def”定义的变量。关键字,但我会兴趣地看这个问题,看看别人是否知道如何。
其他提示
实际上,Ted的回答也适用于'def'ed变量。
def foo = "abc" def bar = "def" if (true) { baz = "ghi" this.binding.variables.each {k,v -> println "$k = $v"} }
产量
baz = ghi __ = [null, null, null] foo = abc _ = null bar = def
我不确定_变量是什么意思,但我相信你可以解决它们。
不隶属于 StackOverflow