3
現在,當我試圖EVAL Groovy中的一段代碼,我必須做這樣的事情:有沒有將所有定義的變量傳遞給GroovyShell的方法?
new GroovyShell(new Binding([var1:var1])).evaluate(line)
這可能是非常討厭的,當你有很多定義的變量。有沒有更好的方法來做到這一點?是否有像Python的locals
或類似的東西,列出所有聲明的變量?
現在,當我試圖EVAL Groovy中的一段代碼,我必須做這樣的事情:有沒有將所有定義的變量傳遞給GroovyShell的方法?
new GroovyShell(new Binding([var1:var1])).evaluate(line)
這可能是非常討厭的,當你有很多定義的變量。有沒有更好的方法來做到這一點?是否有像Python的locals
或類似的東西,列出所有聲明的變量?
我沒有測試過這...但它可能工作:
new GroovyShell(this.binding).evaluate(line)
或本:
new GroovyShell(new Binding(this.binding.variables)).evaluate(line)
這兩個示例都可以在Groovy 1.8.9上測試 – alkedr
您需要常規的shell實例中聲明的變量? –
我需要訪問在實例化groovy shell之前聲明的變量。 – Geo