学习Scala
作 者:(美)斯沃茨(Jason Swartz) 著
定 价:52
出 版 社:东南大学出版社
出版日期:2015年08月01日
页 数:236
装 帧:平装
ISBN:9787564159207
本书全面地介绍Scala这种针对JVM的编程语言,它集成了现代对象模型、函数式编程和优选类型系统的所有优势。本书通过代码示例,向你展示如何即刻高效地利用该语言和生态系统,同时解释为何Scala是开发高可扩展、以数据为中心的应用程序的理想语言。
斯沃茨,Jason Swartz是一位软件开发者,酷爱直观的用户界面、具有表达性的编程语言和简明的用户文档。他曾组织了在san Francisco举行的scala社区会议并为Netflix的顾客设备项目开发应用。
Preface.
Part Ⅰ.Core Scala
1.Getting Started with the Scalable Language
Installing Scala
Using the Scala REPL
Summary
Exercises
2.Working with Data: Literals, Values, Variables, and Types
Values
Variables
Naming
Types
Numeric Data Types
Strings
An Overview of Scala Types
Tuples
Summary
Exercises
3.Expressions and Conditionals
Expressions
Defining Values and Variables with Expressions
Expression Blocks
Statements
If..Else Expression Blocks
If Expressions
If-Else Expressions
Match Expressions
Matching with Wildcard Patterns
Matching with Pattern Guards
Matching Types with Pattern Variables
Loops
Iterator Guards
Nested Iterators
Value Binding
While and Do/While Loops
Summary
Exercises
4.Functions
Procedures
Functions with Empty Parentheses
Function Invocation with Expression Blocks
Recursive Functions
Nested Functions
Calling Functions with Named Parameters
Parameters with Default Values
Vararg Parameters
Parameter Groups
Type Parameters
Methods and Operators
Writing Readable Functions
Summary
Exercises
5.First-Class Functions
Function Types and Values
Higher-Order Functions
Function Literals
Placeholder Syntax
Partially Applied Functions and Currying
By-Name Parameters
Partial Functions
Invoking Higher-Order Functions with Function Literal Blocks
Summary
Exercises
6.Common Collections
Lists, Sets, and Maps
What's in a List?
The Cons Operator
List Arithmetic
Mapping Lists
Reducing Lists
Converting Collections
Java and Scala Collection Compatibility
Pattern Matching with Collections
Summary
Exercises
7.M0te Collections
Mutable Collections
Creating New Mutable Collections
Creating Mutable Collections from Immutable Ones
Using Collection Builders
Arrays
Seq and Sequences
Streams
Monadic Collections
Option Collections
Try Collections
Future Collections
Summary
Exercises
Part Ⅱ.Object-Oriented Scala
8.Classes
Defining Classes
More Class Types
Abstract Classes
Anonymous Classes
More Field and Method Types
Overloaded Methods
Apply Methods
Lazy Values
Packaging
Accessing Packaged Classes
Packaging Syntax
Privacy Controls
Privacy Access Modifiers
Final and Sealed Classes
Summary
Exercises
9.Objects, Case Classes, and Traits
Objects
Apply Methods and Companion Objects
Command-Line Applications with Objects
Case Classes
Traits
Self Types
Instantiation with Traits
Importing Instance Members
Summary
Break--Configuring Your First Scala Project
Exercises
10.Advancefl Typing
Tuple and Function Value Classes
Implicit Parameters
Implicit Classes
Types
Type Aliases
Abstract Types
Bounded Types
Type Variance
Package Objects
Summary
Questions
A.Reserved Words
Index