使用 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 的所有功能都可用:你可以定义函数,类,方法等。