是否有可能在不知道变量名称的情况下发现作用域中的变量?



我得到了一个很大的Java &基于Groovy的系统。当执行groovy脚本时,Java将一些有用的变量放入作用域中,以便groovy与之交互。问题是我不知道这些变量是什么,甚至不知道它们的名字。是否有一种方法,我可以通过编写Groovy来检查它自己的作用域并输出它找到的变量的名称?

一旦我有了一个变量的名字,我就可以对它使用反射来找到我需要的任何东西

看来魔法是在binding.getVariables()

我发现了一个函数,其中返回值变成了我可以看到的东西,并使用了这个:

def r = [:]
binding.getVariables().entrySet().each {
    r[it.key] = it.value.getClass().getName()
}

返回我正在查找的所有变量及其类型的映射。

这个可以吗?

def env = System.getenv()
//Print all the environment variables.
env.each{
     println it
} 

相关内容

  • 没有找到相关文章

最新更新