使用 Scala REPL

当你在没有附加参数的终端中执行 scala 时,它会打开一个 REPL (读取 - 评估 - 打印循环)解释器:

nford:~ $ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_66).
Type in expressions for evaluation. Or try :help.

scala> 

REPL 允许你以工作表方式执行 Scala:保留执行上下文,你可以手动尝试命令而无需构建整个程序。例如,通过键入 val poem = "As halcyons we shall be" 将如下所示:

scala> val poem = "As halcyons we shall be"
poem: String = As halcyons we shall be

现在我们可以打印我们的 val

scala> print(poem)
As halcyons we shall be

请注意,val 是不可变的,不能被覆盖:

scala> poem = "Brooding on the open sea"
<console>:12: error: reassignment to val
       poem = "Brooding on the open sea"

但是在 REPL 中你可以重新定义一个 val(这会在正常的 Scala 程序中导致错误,如果它在相同的范围内完成):

scala> val poem = "Brooding on the open sea"
poem: String = Brooding on the open sea

对于 REPL 会话的剩余部分,这个新定义的变量将影响先前定义的变量。REPL 对于快速查看对象或其他代码的工作方式非常有用。Scala 的所有功能都可用:你可以定义函数,类,方法等。