在命令列上開始使用 Scala 和 sbt

語言

在本教學中,您將看到如何從範本建立 Scala 專案。您可以將此作為自己專案的起點。我們將使用 sbt,這是 Scala 的實際建置工具。sbt 編譯、執行和測試您的專案,以及其他相關任務。我們假設您知道如何使用終端機。

安裝

  1. 請確定您擁有 Java 8 JDK(也稱為 1.8)
    • 在命令列中執行 javac -version,並確定您看到 javac 1.8.___
    • 如果您沒有 1.8 或更高版本,安裝 JDK
  2. 安裝 sbt

建立專案

  1. cd 到一個空的資料夾。
  2. 執行下列指令 sbt new scala/hello-world.g8。這會從 GitHub 拉取「hello-world」範本。它也會建立一個 target 資料夾,你可以忽略它。
  3. 當出現提示時,將應用程式命名為 hello-world。這會建立一個名為「hello-world」的專案。
  4. 讓我們看看剛剛產生了什麼
  1. cd 到一個空的資料夾。
  2. 執行下列指令 sbt new scala/scala3.g8。這會從 GitHub 拉取「scala3」範本。它也會建立一個 target 資料夾,你可以忽略它。
  3. 當出現提示時,將應用程式命名為 hello-world。這會建立一個名為「hello-world」的專案。
  4. 讓我們看看剛剛產生了什麼
- hello-world
    - project (sbt uses this to install and manage plugins and dependencies)
        - build.properties
    - src
        - main
            - scala (All of your scala code goes here)
                - Main.scala (Entry point of program) <-- this is all we need for now
    - build.sbt (sbt's build definition file)

在你建置專案後,sbt 會為產生的檔案建立更多 target 目錄。你可以忽略它們。

執行專案

  1. cdhello-world
  2. 執行 sbt。這會開啟 sbt 主控台。
  3. 輸入 ~run~ 是可選的,它會讓 sbt 在每次儲存檔案時重新執行,以利快速編輯/執行/除錯循環。sbt 也會產生一個 target 目錄,你可以忽略它。

修改程式碼

  1. 在你的最愛文字編輯器中開啟檔案 src/main/scala/Main.scala
  2. 將「Hello, World!」改成「Hello, New York!」
  3. 如果你尚未停止 sbt 指令,你應該會在主控台看到「Hello, New York!」被印出。
  4. 你可以繼續進行變更,並在主控台中看到結果。

新增依賴項

稍微轉換一下話題,讓我們看看如何使用已發布的函式庫為我們的應用程式新增額外功能。

  1. 開啟 build.sbt 並新增下列程式碼行
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "2.1.1"

在此,libraryDependencies 是一組相依性,透過使用 +=,我們將 scala-parser-combinators 相依性加入到 sbt 在啟動時會去擷取的相依性組中。現在,在任何 Scala 檔案中,你可以使用一般匯入方式,從 scala-parser-combinators 匯入類別、物件等。

你可以在 Scaladex 找到更多已發布的函式庫,Scala 函式庫索引,你也可以複製上述相依性資訊,貼到你的 build.sbt 檔案中。

Java 函式庫注意事項:對於一般 Java 函式庫,你應該只在組織名稱和成品名稱之間使用一個百分比 (%)。雙百分比 (%%) 是 Scala 函式庫的特殊用途。你可以在 sbt 文件 中進一步了解原因。

後續步驟

繼續進行sbt 入門系列的下一份教學,並了解 在命令列中使用 sbt 測試 Scala 程式碼

  • Scala Exercises 上繼續互動式線上學習 Scala。
  • 透過逐步完成我們的 Scala 導覽,以小篇幅了解 Scala 的功能。

此頁面的貢獻者