作者:empty 页数:127 出版社:empty |
前言Scala是一门类Java的编程语言, 它结合了面向对象编程和两数式编程, Scala是纯面向对象的,每个值都是一个对象,对象的类型和行为由类定义,不同的类可以通过混入(mix in) 的方式组合在一起.Scala的设计目的是要和两种主流面向对象编程语言Java和C+实现无缝互操作, 这两种主流语言都非纯面向对象。Scala也是一门函数式变成语言, 每个函数都是一个值, 原生支持嵌套函数定义和高阶函数Scala也支持一种通用形式的模式匹配, 模式匹配用来操作代数式类型, 在很多函数式语言中都有实现。Scala被设计用来和Java无缝互操作(另一个修改的Scala实现可以工作在.NET上) , Scala类可以调用Java方法, 创建Java对象, 继承Java类和实现Java接,这些都不需要额外的接定义或者胶合代码,Scala始于2001年, 由洛桑联邦理工学院(EPFL) 的编程方法实验室研发。2003年11月发布1.0版本,本书描述的是2006年3月发布的第二版,作为语言定义和一些核心库模块的参考手册, 本书的目的不是教授Scala语言或它的概念, 这些可以参考其他文档[Oa 04, ode 06, OZ05b, OCR Z 03, 0205a] .Scala是很多人共同努力的结果.1.0版的设计和实现由Philippe Altherr,Vincent Creme t, Gilles Dubo chet, Burak Emir, Stephane Michel oud,Nikolay Mi hay lov, MichelS chin z, Erik Stenman, Matthias Zenger和木书作者完成; Iulian Dragos, Gilles Dubo chet, Philipp Haller, SeanMc Dir mid, Lex Spoon和Geoffrey Washburn加入了第二版语言和工具的研发。通过参与富有活力和灵感的讨论, 并对本书的旧版提出意见, Gilad Bracha, craigChambers, Erik Ernst, Matthias Felleisen, Shriram Krishnamurti,Gary Leavens,Sebastian Man eth,Erik Meijer, Klaus ostermann,Didier Remy, Mads Torgersen, 和Philip Wadler帮助形成了语言的设计, 还有Scala邮件列表上的贡献者, 他们给予了非常有用的回馈, 帮助我们改进语言和工具。
1.词法Scala程序使用的字符集是Unicode的基本多文种平面字符集:目前不支持Unicode中增补的字符, 本章定义了Scala词法的两种模式:Scala模式与XML模式,如果没有特别说明, 以下对Scala符号的描述均指Scala模式, 常量字符e'指ASCII段 u0000-Yu007F。
有二种方法可以构造一个标识符。第一,首字符是字母,后续字符是任意字母和数字。这种标识符还可后接下划线'',然后是任意字母和数字。第二,首字符是算符字符,后续字符是任意算符字符,这两种形式是普通标识符。最后,标识符可以是由反引号'“括起来的任意字符串(宿主系统可能会对字符串和合法性有些限制],这种标识符可以由除了反引号的任意字符构成。换行字符和常量标识符(没有小写字母开头的限制)的模式匹配规则有所不同,按惯例,标识符符合最长匹配原则,例如:Big_bob++='def-ystemMAX_LEN_1.换行之前的符号是一个语句的结束2.换行之后的符号是一个语句的开始3.符号处在一个允许多语句的区域巾可以分解为三个标识符big_bob, ++-, 和def.变量标识符(varid, 小写字母开头)以下命名是保留字,不能用作词法标识符的语法类id.
1.4.空白与注释.
1.5.XML模式
标识符,命名和域.
类型.
3.1.路径.
整型字面值
浮点型字面值.
布尔型字面值.
字符型字面值.
字符半字面值.
转义序列.
记号字面值.
单例类型.
类型映射.
类型指示.
参数化类型.
元组类型.
标注类型.
复合类型,
中缀类型.
函数类型.
既存类型.
值类型.
3.2.11
3.3.非值类型.
6.5,This和Super
Pre def中定义的原始类型
方法类型.
多态方法类型,
类型构造器.
叫名参数,
重复参数.
过程.
方法返回类型推断
构造器调用
类的线性化.
类成员.
覆盖.
继承闭包.
前置定义.
构造器定义
Case类.
特征.
前缀运算,
后缀操作.
中缀操作,
赋值算符.
基本类型和成员定义.
类型间的关系,
3.5.1.类型恒等
3.5.2.一致性.
3.6.易变类型.
3.7.类型擦除.
4基木声明与定义.
4.1.值声明与定义
4.2.变量声明与定义.
4.3.类型声明与类型别名.
4.4.类型参数.
4.5.差异标注,
4.6.函数声明与定义
4.7.Imprt子句.
类与对象
5.1.模板.
5.2.修饰符,
5.3.类定义,
5.4.对象定义.
6.表达式.
6.1.表达式类型化
6.2.字面值.
6.3.Nu11值.
6.4.指示器.
6.6.函数应用.
6.7.方法值.
6.8.类型应用.
6.9.元组.
6.10.实例创建表达式
6.11.代码块.
6.12.前缀,中缀及后缀运算
6.13.类型化的表达式
6.14.标注表达式.
6.15.赋值.
6.16.条件表达式
隐含参数和视图.
模式匹配.
While循环表达式.
D循环表达式.
Fr语句段.
Return表达式.
Thrw表达式.
Try表达式.
匿名函数.
语句.
隐式转换
值转换.
方法转换.
implicit修饰符
隐含参数.
视图.
视图边界.
模式.
8.1.13.
B.2.类型模式.
8.3.模式中的类型参数推断
B.4.模式匹配表达式,
8.5.模式匹配匿名丽数.
顶级定义
9.1.缩译单元,
9.2.打包.
9.3.包引用.
9.