2009-09-23 8 views
3

En ce moment, quand je suis en train de eval un morceau de code dans Groovy, je dois faire quelque chose comme ceci:Existe-t-il un moyen de transmettre toutes les variables définies à un GroovyShell?

new GroovyShell(new Binding([var1:var1])).evaluate(line) 

Cela peut être assez méchant quand vous avez beaucoup de variables définies. Existe-t-il une meilleure façon de le faire? Y at-il quelque chose comme locals de Python, ou quelque chose de similaire qui énumère toutes les variables déclarées?

+0

Vous avez besoin des variables dans les cas groovy déclaré shell? –

+0

J'ai besoin d'accéder aux variables déclarées avant d'instancier le shell groovy. – Geo

Répondre

3

Je n'ai pas testé ... mais il peut travailler:

new GroovyShell(this.binding).evaluate(line) 

ou ceci:

new GroovyShell(new Binding(this.binding.variables)).evaluate(line) 
+0

Les deux exemples fonctionnent, testés sur Groovy 1.8.9 – alkedr

Questions connexes