如何在Scala中动态执行脚本语句呢?
fineqtbull
2009-11-19
如题,Scala中如何动态编译和执行Scala语句(脚本)呢?研究scala命令行解释器的代码是一个办法,如果有直接的API就好了。比如在Java中执行javascript语句可以通过如下方式来实现。
ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine jsEngine = factory.getEngineByName("JavaScript"); Compilable compiler = (Compilable)jsEngine; CompiledScript script = compiler.compile("1+2"); result = script.eval(); |
|
fineqtbull
2009-11-19
呵呵,找到入口了,他就是scala.tools.nsc.Interpreter类。不过貌似得包含scala-compiler.jar,那可有6M呀 。
|
|
matt.u
2009-11-20
用法如何呢?我也在关注这方面的东西。
|
|
fineqtbull
2009-11-20
matt.u 写道 用法如何呢?我也在关注这方面的东西。
还在研究,搞清楚后贴个例子上来。 |
|
fujohnwang
2009-11-20
since java has such API, why bother?
|
|
alanwu
2009-11-21
我在做一个在线运行Scala脚本的来源项目,
有这方面的实现,源码可以看: http://code.google.com/p/easyscala/ 现在只能实现单环境运行,还不支持多用户同时运行。 |