程式扎記: [Scala 小學堂] Scala Gossic : 起步走 - 基本環境與指令 (指令互動環境)

標籤

2016年4月6日 星期三

[Scala 小學堂] Scala Gossic : 起步走 - 基本環境與指令 (指令互動環境)

轉載自 這裡 
前言 : 
Scala 是一個可直譯、可編譯、靜態、可運行於 JVM 之上、可與 Java 互操作、融合物件導向編程特性與函式編程風格的程式語言. 從一些簡單的語法開始,了解 Scala 的許多特性,所以就算是起步走,東西也夠多了. 簡單的小程式可以使用 scala 指令,編譯的事就交給 scalac,編譯想快點就用 fsc. (Scala 官網

指令互動環境 : 
Scala運行於JVM之上,為了要能執行Scala相關程式,你必須先安裝好JDK,所要求的版本至少為JDK 1.4以上,建議安裝 JDK 5.0以上版本,以在Scala中可使用Java的最新特性,請至 Java 官方網站 下載JDK並進行安裝. 
接著請至 Scala 官方網站 下載Scala,下載完成後解開壓縮檔案,並設置PATH環境變數中帶有Scala的bin資料夾(當然,JDK 的 bin 目錄資訊也必須先設置好),接著進入文字模式,鍵入scala指令,你可以看到以下畫面 : 
E:\Temp\Scala\examples>scala
Welcome to Scala version 2.8.0.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_17).
Type in expressions to have them evaluated.
Type :help for more information.


scala>

這是 Scala 的指令互動環境,可以讓你很快地撰寫一些小指令進行測試(經常的,你只是要看看某個指令這麼用對不對,或會有什麼結果),先來看看幾個簡單的互動 : 
scala> 1+2
res0: Int = 3

scala> res0
res1: Int = 3

這執行了1+2,顯示結果為3,res0 代表了互動環境為你暫時命名的變數(如果執行結果沒有指定給任何變數的話),你之後可以直接呼叫該名稱來取得執行結果。res0之後是冒號(:),接著是資料型態,Int表示結果是一個整數. 再來看看其它的一些互動 : 
scala> def doSome() {
| println("Hi")
| }

doSome: ()Unit

scala> doSome()
Hi

scala> class Test{
| p
|
|
 #按下 Enter
You typed two blank lines. Starting a new command.

你可以在互動中直接觀察程式碼的執行結果,如果程式碼定義需要超過一行,只要直接按下Enter,會有個管線符號(|)表示你可以繼續撰寫程式碼,直到程式 碼定義完成(Scala會知道你何時定義完成),如果你在定義程式碼的過程中輸入錯誤了,儘管直接按兩次Enter,兩個空白行後,Scala會回到提示 字元狀態. 以下是個程式執行錯誤的畫面 : 



之後還會介紹到,在Scala中,以 val 宣告的變數,不可以再度指定值給它,因此在這邊會看到錯誤訊息。不過,Scala 互動環境中可以重新命名一個變數 : 

 
在實際的程式碼中,同一作用範圍是不可以有相同的變數宣告的,而在互動環境中可以這麼作,這是為了方便你撰寫一些簡單的測試(技術上來說,指令互動環境為每個新的陳述句建立一個巢狀範圍,看來像是重複定義一個變數,其實是在不同的作用範圍). 
輸入:help可以取得基本協助訊息 : 



例如,你可以在純文字檔案中撰寫Scala程式碼(Scala建議的副檔名為.scala),並使用:load載入,可以指定相對路徑或絕對路徑,指定相對路徑時,檔案必須位於執行scala指令的工作路徑之下,例如,你可以撰寫 : 

- Hello.scala 代碼 :
  1. println("Hello!Scala!")  


在指令互動環境下,可如下載入執行 Hello.scala : 


:replay 則是讓你重複執行上一次的指令互動,要離開 Scala 互動環境,可以輸入:quit 或 exit

補充說明 :

沒有留言:

張貼留言

網誌存檔

關於我自己

我的相片
Where there is a will, there is a way!