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