我试图从另一个问题中举一个例子,但我发现了一些我无法解释的事情:
scala> import scala.reflect.runtime.{currentMirror => m}
import scala.reflect.runtime.{currentMirror=>m}
scala> m.mkToolBox()
<console>:12: error: value mkToolBox is not a member of reflect.runtime.universe.Mirror
m.mkToolBox()
^
scala> import scala.tools.reflect.ToolBox
import scala.tools.reflect.ToolBox
scala> m.mkToolBox()
res3: scala.tools.reflect.ToolBox[reflect.runtime.universe.type] = scala.tools.reflect.ToolBoxFactory$ToolBoxImpl@225765b0
怎么来的
mkToolBox
不是 m
的成员导入前 ToolBox
,但之后呢?
最佳答案
ToolBox
是皮条客的隐式类 mkToolBox
到 Mirror
.与 Eval
相同的故事, 皮条客 eval
.
关于scala - 在 Scala 中使用反射的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283204/