<p>I have a groovy script with an unknown number of variables in context at runtime, how do I find them all and print the name and value of each?</p>

Well, if you're using a simple script (where you don't use the "def" keyword), the variables you define will be stored in the binding and you can get at them like this:
```
```
foo = "abc"
bar = "def"

if (true) {
    baz = "ghi"
    this.binding.variables.each {k,v -> println "$k = $v"}
}
```
```
Prints:
```
```
foo = abc 
    baz = ghi 
    args = {} 
    bar = def
```
```
I'm not aware of an easy way to enumerate through the variables defined with the "def" keyword, but I'll be watching this question with interest to see if someone else knows how.