2009-08-18 2 views
0

Pythonでは、私はexec(string)を使って任意のコードを実行できます。どうすればGroovyでこれを行うことができますか? Groovyシェルを使用しているかのように、現在実行中のアプリケーションのコンテキストでコードを実行したいと思います。 Groovyで動的にコマンドラインプログラムを実行するにはGroovyはPythonのexec文と同じですか?

答えて

5

"cmdstring".execute().text 

あなたも持つStringに包まれたいくつかのGroovyのコードを実行することができます

def myGroovyCode = 'println "hi"' 
Eval.me(myGroovyCode) //prints hi 

http://groovy.codehaus.org/api/groovy/util/Eval.html

+0

これは動作していません。コマンドラインプログラムではなく、実際のコードを実行します。 – Jared

+1

申し訳ありませんが、私は亀裂や何かに乗っていたに違いありません。あなたは今本当の答えを持っています:) –

1

することができますを参照してください。バインディング・メカニズムを介して現在のコンテキスト・パラメータをGroovyシェルに渡します。

def myname = 'Inigo Montoya' 
def binding = new Binding([ myname:myname ]) 
new GroovyShell(binding).evaluate('println "My Name is " + myname') 
関連する問題