【发布时间】:2018-06-17 16:04:54
【问题描述】:
我正在使用 Scala 工具箱为 Web 解释器评估一些 Scala 代码。运行良好,代码如下:
import scala.reflect.runtime.universe._
import scala.tools.reflect.ToolBox
object Eval {
val toolbox = runtimeMirror(getClass.getClassLoader).mkToolBox()
def eval[T](code: String): T = {
toolbox.eval(toolbox.parse(code)).asInstanceOf[T]
}
}
我可以这样做:
Eval.eval[Long]("1 + 1")
并返回2。当我想定义一些东西时,问题就出现了:
Eval.eval[Unit]("val yellow = 5")
Eval.eval[Long]("yellow")
我收到not found: value yellow 错误。如何定义可以在以后使用 Scala Toolbox 进行评估的值?
【问题讨论】: