import scala.tools.nsc._
import scala.tools.nsc.interpreter._
val settings = new Settings
val n = new IMain(settings)
n.interpret("""
val y = 5
val x = 10
""")
println(n.valueOfTerm("y").get)
n.close()
我希望println
打印5
,y
的值。相反,它会打印10
,x
的值。
现在,如果我解读这个:
n.interpret("""
val y = 5
val x = 10
y
""")
打印5
,y
的值。因此,我假设valueOfTerm
仅返回最后提到的值。它不打算返回请求的值吗?任何人都可以重现这个?或者我的代码有问题吗?
我使用Scala 2.10.3进行此设置。 Scala Doc IMain
答案 0 :(得分:1)
好的,我可以确认它在2.11上的效果正如您所期望的那样,但正如您在2.10中描述的那样。
但是,我不能保证我可以向后移动。好吧,我会看看它是否是一个快速修复。
否则,该方法在2.10上的命名特别严重。