回来时,反射还在初期,斯卡拉上2.10.0里程碑的日子里,我问了一个问题 ,我怎么可以用它来查看从REPL代码片段的树木。 优秀的答案更进一步比我问过了,证明了他们是如何可用于分析和评估的树木一样,所以我继续,并试图使用一个小项目,我就今天去。
不幸的是,代码分析和评估这种方式似乎并没有看到任何REPL定义:
scala> val x = 1
x: Int = 1
scala> import scala.tools.reflect.ToolBox
import scala.tools.reflect.ToolBox
scala> val tb = scala.reflect.runtime.universe.runtimeMirror(
getClass.getClassLoader).mkToolBox()
tb: scala.tools.reflect.ToolBox[reflect.runtime.universe.type] = ...
scala> tb.eval(tb.parse("x"))
scala.tools.reflect.ToolBoxError: reflective compilation has failed:
not found: value x
有没有办法得到它认识到在REPL作出定义?