鍍金池/ 教程/ Scala/ 開始神奇的 Scala編程之旅
包對象
Ordered Trait
組合和繼承–定義 final 成員
基本數(shù)據(jù)類型
Match 表達式
類和對象 (三)
操作基本數(shù)據(jù)類型
for 表達式
組合和繼承–重載成員函數(shù)和方法
類和對象 (二)
組合和繼承–定義 factory 對象
組合和繼承–多態(tài)和動態(tài)綁定
Trait 的基本概念
if 表達式
組合和繼承–抽象類
函數(shù)–函數(shù)字面量的一些簡化寫法
while 循環(huán)
組合和繼承–使用組合還是繼承?
訪問控制修飾符
Trait 示例–Rectangular 對象
組合和繼承–定義參數(shù)化成員變量
組合和繼承–定義無參數(shù)方法
類和對象 (一)
函數(shù)–閉包
函數(shù)–類成員函數(shù)
Scala 基本數(shù)據(jù)類型的實現(xiàn)方法
try 表達式處理異常
選擇瘦接口還是胖接口設(shè)計?
組合和繼承–小結(jié)
創(chuàng)建新的控制結(jié)構(gòu)
使用 import
為訪問控制修飾符添加作用域
Scala 的類層次關(guān)系
類和對象 (五)
傳名參數(shù)
柯里化函數(shù)
函數(shù)–頭等公民
組合和組合和繼承–定義 heighten 和 widen 函數(shù)
使用 Package–將代碼放入包中
隱含的 import
所有類的公共子類–底層類型
進一步 Scala
函數(shù)–局部函數(shù)
引用包中的代碼
組合和繼承–使用 override 修飾符
組合和繼承–實現(xiàn)類 Element 的 above,beside 和 toString()方法
類和對象 (四)
函數(shù)–尾遞歸
沒有“break”和“continue”的日子
組合和繼承–調(diào)用基類構(gòu)造函數(shù)
減低代碼重復(fù)
函數(shù)–函數(shù)–可變參數(shù),命名參數(shù),缺省參數(shù)
起步 Scala
組合和繼承–擴展類
函數(shù)–部分應(yīng)用的函數(shù)
開始神奇的 Scala編程之旅
組合和繼承–概述
Trait 用來實現(xiàn)可疊加的修改操作

開始神奇的 Scala編程之旅

前面寫了四篇 Scala Play Framework 開發(fā)教程,起了個頭,個人覺得 Scala 應(yīng)用會越來越廣泛,因此開通了 Scala 中文社區(qū)論壇以達到推廣 Scala 開發(fā)的目的。該論壇設(shè)立了 Scala 編程(包括 Slick,Akka 編程),Scala 開發(fā)工具( Scala IDE,IntelliJ IDEA 等),目前使用Scala最廣泛的應(yīng)用是開發(fā) Web 應(yīng)用,所有論壇列出了使用 Play Framework 開發(fā) Web 應(yīng)用的一些相關(guān)技術(shù)(HTML5, CSS3,Kendo UI/jQuery,JavaScript/CoffeeScript ,LESS 和R ESTFul Web服務(wù)),和常見的數(shù)據(jù)庫服務(wù)器(MySQL和SQL Server),以后可能還會添加一些相關(guān)平臺如(Scaladin,Android,Spring)。下面是目前論壇的主要板塊:

http://wiki.jikexueyuan.com/project/scala-development-guide/images/2.png" alt="" />

論壇新開通,目前還沒有太多的內(nèi)容,希望得到廣大對 Scala 有興趣的技術(shù)人員的支持,在今后的三年逐漸使得論壇成為 Scala 中文的主要技術(shù)論壇。

學(xué)習(xí) Scala 的最好的方法取決于你已有的編程知識,很多人覺得同時使用教程和編程實踐相結(jié)合的方法最有效,本教程將帶你走入 Scala 編程的旅程,同時希望你在看本教程的同時,通過嘗試輸入本教程的例子,使用 Scala 編譯器查看結(jié)果,以便能很快的掌握 Scala 編程。學(xué)習(xí)完 Scala 編程的基本知識后,我們再繼續(xù) Play Framework 開發(fā)教程和其它相關(guān)知識。

學(xué)習(xí)本教程,首先需要安裝好Scala運行環(huán)境,你可以使用命令行,Notepad,或者使用 Scala IDE 或是 IntelliJ,如果你不想安裝任何軟件,你可以通過在線 Scala 編譯器 Scalakata.com ,通過瀏覽器來練習(xí) Scala 編程。

最后我們以每個編程語言開發(fā)教程都會有的應(yīng)用 “Hello,World” 來結(jié)束本篇文章。

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

這段代碼對于Java程序員來說似承相識,它包含一個 main 方法,用來打印 “Hello,World” 這個問候語。 這段代碼,你可以使用命令行交互式執(zhí)行:

http://wiki.jikexueyuan.com/project/scala-development-guide/images/3.png" alt="" />

如果使用 ScalaKata.com 在線執(zhí)行:

http://wiki.jikexueyuan.com/project/scala-development-guide/images/4.png" alt="" />

如果你不想使用這種交換式運行方式,你可以使用任何文本編輯器或是使用 IDE 來運行 Scala 代碼。如果使用普通的編輯器,在把代碼保存為 HelloWorld.scala 之后,可以在命令行使用 scalac (和 javac 使用方法類似)來編譯 Scala 代碼。

scalac HelloWorld.scala

運行 Scala 應(yīng)用

scala HelloWorld

注意 scalac 編譯也是生產(chǎn) .class 文件(和 Java 一樣),因此你也可以通過 -d -cp 等選項指定生產(chǎn)的 class 的目錄和運行應(yīng)用時 class 的訪問目錄。

而使用 scala 來運行應(yīng)用時,無需再調(diào)用 HelloWorld.main(null).Scala 會自動執(zhí)行指定類的 main 方法,因此下面代碼為 HelloWorld.scala 的內(nèi)容:

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

你也可以把 Scala 代碼作為腳本語言來運行,比如使用下面代碼在 Ubuntu 些運行

 #!/bin/sh
exec scala "$0" "$@"
!#
object HelloWorld extends App {
  println("Hello, world!")
}
HelloWorld.main(null)

http://wiki.jikexueyuan.com/project/scala-development-guide/images/5.png" alt="" />