access to local variables in scripts

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

access to local variables in scripts

Ralph Johnson
I have a system that executes scripts written by users.  I'd like to provide more debugging tools.  In particular, I'd like to be able to display the values of variables that the script uses.   Some of the variables are defined outside the script, and I can access and display them.   But the script might use  "def" to define some more variables, and I don't know how to access them.   When a script runs, does it have some kind of context object in which it stores temporary variables?  Is there a way I could access it so I could read those variables?   If so, what is it called and where could I learn more about it?

-Ralph Johnson
Reply | Threaded
Open this post in threaded view
|

Re: access to local variables in scripts

Thibault Kruse

Hi Ralph,

I think I maybe did something similar for groovysh, see here: https://github.com/apache/groovy/blob/master/subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Groovysh.groovy
In method evaluateWithStoredBoundVars()

I think this was based on some blog article by Guillaume about variable bindings.

Hope that helps.


On Aug 31, 2016 01:19, "Ralph Johnson" <[hidden email]> wrote:
I have a system that executes scripts written by users.  I'd like to provide more debugging tools.  In particular, I'd like to be able to display the values of variables that the script uses.   Some of the variables are defined outside the script, and I can access and display them.   But the script might use  "def" to define some more variables, and I don't know how to access them.   When a script runs, does it have some kind of context object in which it stores temporary variables?  Is there a way I could access it so I could read those variables?   If so, what is it called and where could I learn more about it?

-Ralph Johnson