2009-09-23 74 views
3

現在,當我試圖EVAL Groovy中的一段代碼,我必須做這樣的事情:有沒有將所有定義的變量傳遞給GroovyShell的方法?

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

這可能是非常討厭的,當你有很多定義的變量。有沒有更好的方法來做到這一點?是否有像Python的locals或類似的東西,列出所有聲明的變量?

+0

您需要常規的shell實例中聲明的變量? –

+0

我需要訪問在實例化groovy shell之前聲明的變量。 – Geo

回答

3

我沒有測試過這...但它可能工作:

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

或本:

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

這兩個示例都可以在Groovy 1.8.9上測試 – alkedr

相關問題