Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala IMain.valueOfTerm仅获取最后一个值_Scala - Fatal编程技术网

Scala IMain.valueOfTerm仅获取最后一个值

Scala IMain.valueOfTerm仅获取最后一个值,scala,Scala,我希望println会打印5,即y的值。而是打印10,即x的值 现在我来解释一下: 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
的值

现在我来解释一下:

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()
它打印
5
,即
y
的值。因此,我假设
valueOfTerm
只返回最后提到的值。它不是要返回请求的值吗?有人能复制这个吗?还是我的代码有问题


我使用Scala 2.10.3进行此设置

好的,我可以确认它在2.11上的效果与您预期的一样,但正如您在2.10上描述的那样

然而,我不能保证我可以收回改变。好吧,我看看这是不是一个快速解决办法


否则,该方法在2.10上的名称特别糟糕。

询问scala用户:在2.11上有效,而不是在2.10上。如果您将其作为答案发布,我可以接受!如果您可以将其添加为quickfix,它是否可以与scala 2.10.4一起使用?那太好了!
n.interpret("""
val y = 5
val x = 10
y
""")