1. 程式人生 > >scala ide + helloworld

scala ide + helloworld

http://blog.csdn.net/asongoficeandfire/article/details/21490101

簡介

在上一篇文章中,我們闡述了Coursera使用Scala的理由,以及Scala的優缺點。說多不如少練,我們今天就開始練習如何使用Scala程式設計。

雖然Scala是一門比較新的語言,但是很多機構都為其開發了IDE或者整合外掛,比較流行的有Eclipse、IntelliJ以及Netbeans。今天我們使用集成了Scala IDE外掛的Eclipse進行程式碼的編寫。


IDE下載及安裝

我們在Scala IDE的官網可以下載到最新版本的Scala IDE for Eclipse(本文采用3.0.2 Release),有兩種下載方式可以選擇:Bundle方式以及外掛方式。其中前者是將Scala外掛整合到Eclipse中的捆綁下載,而後者提供在已有Eclipse IDE上安裝Scala外掛的選擇。你可以根據自己的需求以及系統型號來選擇。Bundle安裝包中包含了以下內容:

  • Eclipse 4.3.1 (Kepler)
  • Scala IDE 3.0.2
  • Scala Worksheet 0.2.1
  • Play Framework support 0.4.1
  • m2eclipse-scala Maven connector 0.4.3
  • access to the full Scala IDE ecosystem

Bundle安裝包解壓後,開啟Eclipse IDE,在Help=》Install New Software中可以看到已安裝的外掛包含了以上列表中的內容:


如果選擇外掛方式安裝,可以根據上述列表將內容整合到Eclipse中,已達到最好效果。

注意:無論採用哪種方式安裝,確保你的節點上有JDK6 or JDK7。


建立工程

安裝完畢之後,我們依次File=》New=》New Scala Project,可以新建一個Scala工程,如下圖所示:


點選Next,可以配置一下工程屬性,我們可以看到工程的依賴項包含了JDK以及SDK:



編寫程式碼

在包中建立Scala程式碼類,當前我們建立的是一個Scala物件(Object),Scala物件是Scala中類的單例模式,Object標明瞭在記憶體中只會存在一個HelloWord例項。



接下來,我們編寫main方法,程式碼如下:

[java]  view plain copy 在CODE上檢視程式碼片 派生到我的程式碼片
  1. package com.doggie  
  2.   
  3. object HelloWorld {  
  4.   def main(args: Array[String]): Unit = {  
  5.       println("hello world")  
  6.   }  
  7.   
  8. }  

我們注意到main方法並沒有使用static修飾,而Scala中已經摒棄了static作為方法的關鍵字。mian方法的入參是一個Array[String],即為一個String陣列,這與java中一致。但是Scala中使用方括號而不是尖括號來指定泛型的型別。這有效避免了與尖括號作為方法名稱(以後的文章中會涉及)的混淆。

而Scala類中方法的定義形式如下:def 方法名(引數): 返回值型別 = {方法體}

其中引數和返回值的模式為:val: type,這種變數名在前、變數型別在後、相互之間使用冒號隔開的方式將貫穿在Scala的程式碼中。另外方法和方法體之間使用等號隔開。

返回值的型別為Unit,相當於java中的void。

java中使用print和println方法向控制檯輸出,地位相當於java中的System.out.print以及System.out.println,實際上通過查閱程式碼,print和println確實是對System.out中相應方法的呼叫:

[java]  view plain copy 在CODE上檢視程式碼片 派生到我的程式碼片
  1. private val outVar = new DynamicVariable[PrintStream](java.lang.System.out)  
  2. def out = outVar.value  
  3. def println(x: Any) { out.println(x) }  
  4. def println(x: Any) = Console.println(x)  

另外一個細節是,Scala中將約定每行結尾可以不加分號,這恐怕對寫習慣了java程式碼的coder來說有點不習慣(如果同一行包含兩條語句,那麼必須用分號隔開)。

如果你觀察足夠敏銳,當然也會發現Scala連語句縮排也由熟悉的4個空格改為2個空格了。


結果

像執行Java程式碼一樣,右鍵選擇Run as Scala Application,在控制檯就會見到熟悉的字樣了。

[plain]  view plain copy 在CODE上檢視程式碼片 派生到我的程式碼片
  1. hello world  

其他Scala開發的IDE可以參考:

http://wiki.netbeans.org/Scala

http://www.jetbrains.com/idea/


參考資料:

http://www.ibm.com/developerworks/cn/java/j-scala01228.html

http://scala-ide.org/download/sdk.html