1. 程式人生 > >[Scala]Scala安裝以及在IDEA中配置Scala

[Scala]Scala安裝以及在IDEA中配置Scala

 

一  Scala簡述

Scala (斯卡拉)是一門多正規化(multi-paradigm)的程式語言。

 

這裡所謂的正規化,指的是編寫程式的方式,不同的程式語言,方式也不盡相同,也就意味著Scala程式語言是融合了多種不同程式設計方式的語言。所以Scala語言的設計初衷是要整合面向物件程式設計和函數語言程式設計的各種特性。

二  Scala與Java的關係

創始人馬丁·奧德斯基(Martin Odersky)是編譯器及程式設計的狂熱愛好者,長時間的程式設計之後,希望發明一種語言,能夠讓寫程式這樣的基礎工作變得高效,簡單,且令人愉悅。所以當接觸到JAVA語言後,對JAVA這門行動式,執行在網路,且存在垃圾回收的語言產生了極大的興趣,所以決定將函數語言程式設計語言的特點融合到JAVA中,由此發明了兩種語言(Pizza & Scala),這兩種語言極大地推動了Java程式語言的發展。且現在主流JVM的javac編譯器就是馬丁·奧德斯基編寫出來的,並被JAVA程式設計人員廣泛的使用,所以Scala語言起源於Java,卻推動著Java的發展,它們是相輔相成的。

 

正是基於上面的原因,所以Scala原始碼(.scala)會被編譯成Java位元組碼(.class),然後運行於JVM之上,並可以呼叫現有的Java類庫,實現兩種語言的無縫對接,因此,對於已經掌握JAVA語言的我們來講,學習起來一定會略顯輕鬆。

 

Scala是一門以java虛擬機器(JVM)為目標執行環境並將面向物件函數語言程式設計的最佳特性結合在一起的靜態型別程式語言。(執行之前一定知道型別是什麼)

三  Scala安裝與配置

3.1  安裝

Scala需要Java執行時庫,安裝Scala需要首先安裝JVM虛擬機器,推薦安裝JDK1.8。

http://www.scala-lang.org/ 下載Scala2.11.8程式安裝包

 

根據不同的作業系統選擇不同的安裝包,下載完成後,將安裝包解壓到安裝目錄。將scala安裝目錄下的bin目錄加入到PATH環境變數:

SCALA_HOME:

SCALA_HOME= D:\scala-2.11.8

PATH:

在PATH變數中新增:%SCALA_HOME%\bin

安裝好scala並配置好PATH環境變數之後,就可以在終端中輸入“scala”命令開啟scala直譯器:

 

注意:該操作Windows和Linux配置流程是一樣的。可以參考Java的JDK的配置過程。

到此為止,Scala的安裝已經成功。

3.2  Scala的REPL

上面開啟的scala命令列視窗,我們稱之為REPL,是指:Read->Evaluation->Print->Loop,也稱之為互動式直譯器。類似於MySQL的預設客戶端工具

在命令列視窗中輸入scala指令程式碼時,直譯器會讀取指令程式碼並計算(Evaluation)對應的值,然後將結果列印(Print)出來,接著迴圈等待使用者輸入指令(Loop)。

從技術上講,這裡其實並不是一個直譯器,而是指令程式碼被快速的編譯成Java位元組碼並被JVM載入執行。最終將執行結果輸出到命令列中。

3.3  配置IDEA

1) 開啟IDEA工具,如圖:點選Configure

 

2) 點選Plugins

 

 

3) 點選Install plugin from disk

 

4) 選擇scala的plugins

 

5) 此時會顯示一個Scala的條目,在右側點選Restart IntelliJ IDEA

 

6) 建立Maven專案

建立的maven專案預設是不支援scala的,需要為專案新增scala的framework,如圖:

在這裡選擇Scala後,在右邊的Use library中配置你的安裝目錄即可,最後點選OK。

 

7) 在專案的目錄結構中,建立scala資料夾,並標記為source

 

8) 以上配置都完成後,就可以在scala上點選右鍵建立scala class

 

四  Scala示例

4.1  IDEA執行HelloScala程式

1) 在scala上右鍵,建立scala object

 

2) 編寫程式碼如下:

object HelloScala {

  def main(args: Array[String]): Unit = {

    println("Hello Scala") // 列印字串

  }

}

右鍵Run HelloScala,如圖:

 

4.2  Scaladoc

如果想要了解Scala中提供了哪些類,哪些方法,可以參考Scala提供的doc文件