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