查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Scala程序设计 > 试读

Scala程序设计[试读]

写代码的层次

初涉代码之时,我的关注点在于实现功能。初窥门径的我,不了解语言,不熟悉常见的编码技巧。那时,只要代码能够跑出想要的效果,我便欣喜若狂,无暇顾及其他。 积累一定经验之后,对于编写代码,我越来越有感觉,实现一个功能不再高不可攀。我开始了解在工程中编写代码,如何在一个系统而不仅仅是一个局部处理问题,如何... 查看全部[ 写代码的层次 ]

简介

可以在JVM上编程的语言有很多。通过这本书,我希望让你相信花时间学习Scala是值得的。 Scala语言为并发、表达性和可扩展性而设计。这门语言及其程序库可以让你专注于问题领域,而无需深陷于诸如线程和同步之类的底层基础结构细节。 如今硬件已经越来越便宜,越来越强大。很多用户的机器都装了多个处理器... 查看全部[ 简介 ]

1.1 为何选择Scala

Scala是适合你的语言吗? Scala是一门混合了函数式和面向对象的语言。用Scala创建多线程应用时,你会倾向于函数式编程风格,用不变状态(immutable state)①编写无锁(lock-free)代码。Scala提供一个基于actor的消息传递(message-passing)模型,消... 查看全部[ 1.1 为何选择Scala ]

1.2 何为Scala

Scala,是Scalable Language的缩写,它是一门混合型的函数式编程语言。Martin Odersky①是它的创始人,2003年发布了第一个版本。下面是Scala的一些关键特性②:  它拥有基于事件的并发模型;  它既支持命令式风格,也支持函数式风格;  它是纯面向对象的;... 查看全部[ 1.2 何为Scala ]

1.3 函数式编程

我已经提过几次,Scala可以用作函数式编程语言。我想花几页的篇幅给你一些函数式编程的感觉。让我们从对比Java编程的命令式风格开始吧!如果我们想找到给定日期的最高气温,可能写出这样的Java代码: 1.3 函数式编程1查看全部[ 1.3 函数式编程 ]

1.4 本书的内容

我写这本书的目标是让你快速理解Scala,可以用它编写并发、可伸缩、有表现力的程序。为了做到这些,你需要学很多东西,但是还有很多你也不必了解。如果你的目标是了解Scala的全部,本书满足不了你。我们已经有了这样一本书,叫Programming in Scala [OSV08],由Martin Ode... 查看全部[ 1.4 本书的内容 ]

1.5 本书面向的读者

这本书是为有经验的Java程序员准备的。也就是说你要相当熟悉Java语言的语法和Java API,而且你也要有扎实的面向对象编程知识。基于这样的前提,你就可以快速领会到Scala的精髓,用它构建真实的应用。 熟悉其他语言的程序员也可以使用这本书,但是不得不读一些Java的好书,补充一些营养。 对... 查看全部[ 1.5 本书面向的读者 ]

1.6 致谢

编写本书的过程中,我拥有着一些特权,这些特权使我能够从很多智者那里获得帮助。这群非常有激情的人都是在百忙之中贡献出他们的时间评论本书,告诉我哪里不足,哪里做得好,鼓励我继续前行。这本书能够变得更好,我需要鸣谢Al Scherer、Andres Almiray、Arild Shirazi、Bill V... 查看全部[ 1.6 致谢 ]

起步

让我们开始写一些Scala代码吧!在这一章里,你会装上Scala,确保一切都能在系统中运作良好。... 查看全部[ 起步 ]

2.1 下载Scala

Scala起步很简单。首先,访问http://www.scala-lang.org,点击“Download Scala”链接,下载最新的稳定版本。选择最适合你所用的平台的版本,排在最上面的是当前的发布版本①。在Mac OS X上,我下载的是scala-2.7.4.final.tar.gz,在Windo... 查看全部[ 2.1 下载Scala ]

2.2 安装Scala

先把Scala装起来吧!前提是你已经下载了Scala 2.7.4的二进制发行版,并且Java也装好了。(参见2.1节。)... 查看全部[ 2.2 安装Scala ]

2.2.1 在Windows上安装Scala

把发行包解压缩——我是直接右击scala-2.7.4.final.zip然后选择“Extract Here”。接着把解压缩后的目录拷贝到合适的位置,比如我就把scala-2.7.4.final挪到了C:programs scala目录下。 ① 还有一步工作要做。你要设置Scala bin目录的路径。进... 查看全部[ 2.2.1 在Windows上安装Scala ]

2.2.2 在类UNIX系统上安装Scala

在类Unix系统上安装Scala有好几种选择。如果你用的是Mac OS X,就可以用MacPorts的sudo port install scala命令安装。 你也可以使用下面这个命令把发行包解压缩:gunzip scala-2.7.4.final.tar.gz,然后运行tar -xf scala-... 查看全部[ 2.2.2 在类UNIX系统上安装Scala ]

2.3 让Scala跑起来

想快速尝试一下Scala的话,直接用scala这个命令行shell就行。你可以在上面尝试着运行一些简单的Scala代码片断。在编写应用的时候,这个有用的工具可以帮你快速试验一些新代码。 在命令行上(不管是终端窗口还是命令提示符),输入scala。你可以见到下面的介绍信息和一个提示符: 查看全部[ 2.3 让Scala跑起来 ]

2.4 命令行上的Scala

尽管shell和-e选项提供了很便捷的方式试验代码片断,但如果你想执行文件中Scala代码,那么就会用到scala命令。在没有提供参数的情况下,它会以交互模式运行;如果提供了文件名,它就会以批处理模式运行。代码文件可以是脚本,也可以是目标文件(目标文件是指编译器生成的.class文件)。默认情况下,... 查看全部[ 2.4 命令行上的Scala ]

2.5 把Scala代码当作脚本运行

当你开始用Scala写脚本以后,你会发现执行Scala文件就跟执行shell脚本一样简单。... 查看全部[ 2.5 把Scala代码当作脚本运行 ]

2.5.1 在类UNIX系统上作为脚本运行

在类Unix系统上,你可以设置一个shell前导词(preamble)来执行脚本。如下例: 2.5.1 在类UNIX系统上作为脚本运行1
... 查看全部[ 2.5.1 在类UNIX系统上作为脚本运行 ]

2.5.2 在Windows上作为脚本运行

你可以配置Windows,让它在运行.scala文件的时候调用Scala。打开资源浏览器,双击一个带.scala扩展名的Scala脚本文件。Windows会告诉你它打不开这个文件,并让你从已安装的程序列表里面选择一个程序去打开它。找到Scala安装的位置,选择scala.bat。现在就可以在资源浏览... 查看全部[ 2.5.2 在Windows上作为脚本运行 ]

2.6 在IDE里面运行Scala

作为Java程序员,最有可能是用IDE开发应用程序。 Eclipse、IntelliJ IDEA、NetBeans这三款IDE都有对应的Scala插件(参见附录A)。用了这些IDE,就可以在使用Scala的时候享受跟Java一样的待遇,如语法高亮,代码补全,调试,合适的缩进,等等。此外,你还可以... 查看全部[ 2.6 在IDE里面运行Scala ]

2.7 编译Scala

下面讲述如何写一个类,用scalac编译器编译。 在下面的例子中,我们定义了一个对象,名叫Sample。(你很快会学到,Scala不支持静态方法,要想写静态的main()方法,就得定义一个对象——一个单例①) 2.7 编译Scala1查看全部[ 2.7 编译Scala ]