在python中,我可以使用eval()在我的程序中执行用户输入的代码.在Groovy中我能做些类似的事吗?我想要一个SWING UI文本框,用户输入一段我想要执行的代码?
谢谢,哈里
有多种方法可以运行Groovy(来自Java和Groovy):
http://groovy-lang.org/integrating.html
然而,最快的方法(对于简单的脚本)可能使用Eval类:
http://groovy-lang.org/integrating.html#integ-eval
哪个会让你做类似的事情:
Eval.me( '2 + 2' )
Run Code Online (Sandbox Code Playgroud)
从更多示例中查看此页面:
http://mrhaki.blogspot.com/2009/11/groovy-goodness-simple-evaluation-of.html
是的,可以使用 Eval.x、Eval.xy、Eval.xyz 或 Eval.me 在 Groovy 中动态评估代码。有关这些方法的更多详细信息,请参阅API 文档。
例如,您像这样使用 Eval.me:
def a = "hello"
def b = "world"
Eval.me(""" println "$a $b" """)
--> hello world
Run Code Online (Sandbox Code Playgroud)
另外,请参阅此博客文章以获取一些评估示例
| 归档时间: |
|
| 查看次数: |
14573 次 |
| 最近记录: |