Scala教程目录

1.Scala教程(一)走进Scala世界 2.Scala教程(三)数组、元组、列表 3.Scala教程(三)数组、元组、列表 4.Scala教程(四)数组进阶实战 5.Scala教程(五)Map、Tuple、Zip实战 6.Scala教程(六)类、属性和对象字段 7.Scala教程(七)pack...

2015-11-12 11:17:55

阅读数:1552

评论数:1

Scala教程(二十)For循环模式匹配与表达式

For循环模式匹配与表达式; 1.1 模式匹配下的For循环; 1.2 模式匹配下的赋值语句; 1.3 模式匹配下的提取器; 1.4 Scala中For表达式; 1.5 For表达式查询过滤;

2015-11-11 17:39:48

阅读数:1491

评论数:0

Scala教程(十九)Scala界面GUI编程

Scala开发图形用户界面(GUI)的应用程序基于一个Scala库,该类库提供对Java的Swing框架的GUI类访问。该类库和它的下层的Swing类很像,隐藏了大部分的复杂度,使Scala开发图形用户界面开发变得易容。 使用Swing编程,你需要从Scala的SwingAPI导入类。import...

2015-11-06 17:02:36

阅读数:4160

评论数:0

Scala教程(十八)并发编程详解

Actor是一种基于事件的轻量级线程,使用Actor则需要关注操作数据的代码结构,因为减少了数据的共享。Actor的主要能力来源于消息传递,而不是采用阻塞调用的处理形式。 如果创建直接或间接扩展 Actor的类,要确保对对象的所有调用都通过消息传递进行。 Actor提供了并发程序与传统的基于锁(比...

2015-11-05 15:26:00

阅读数:814

评论数:0

Scala教程(十七)Scala隐式类型转换详解

隐式方法:方法命名 :file为源方法名 2 目标方法名,例如:file2RichFile定义隐式转换的方法名。隐式转换必须有:implicit关键字,需要和参入参数类型一致。 隐式参数:在参数前添加implicit关键字的参数。 隐式类:在class关键字前带有implicit关键字的类。 隐式...

2015-11-03 17:46:49

阅读数:5059

评论数:0

Scala教程(十六)Scala复合类型与依赖注入详解

1.1 函数链式调用 1.2 路径依赖:Scala的内部类比Java的内部类具有更多特性,因此Scala引入了路径依赖类型(Path-dependent type)的概念。像outer.Inner这样的类型就称为路径依赖类型。所谓路径,指的就是参考外部类所建立的实例的名称。 就outer.Inne...

2015-11-02 11:39:47

阅读数:2010

评论数:0

Scala教程(十五)Scala的特性逆变与协变

covariant 协变: 使你能够使用比原始指定的类型的子类,如:C[+T]:如果A是B的子类,那么C[A]是C[B]的子类。 contravariance 逆变: 使你能够使用比原始指定的类型的父类,如:C[-T]:如果A是B的子类,那么C[B]是C[A]的子类。 Invariance 不变。...

2015-10-27 23:26:10

阅读数:680

评论数:0

Scala教程(十四)Scala泛型及约束实战

ClassTag[T]保存了泛型擦除后的原始类型T,提供给被运行时的。 泛型参数类型限定:限定具体类的可以调用特定的方法。 泛型视图限定:表示把传入不是Comparable[T]类型的 隐式传换 为Comparable[T]类型,Comparable[T]:为T下界,T:为Comparable[T...

2015-10-23 17:33:32

阅读数:11742

评论数:3

Scala教程(十三)Set、Map操作实战

Scala教程(十三)Set、Map操作实战

2015-10-14 11:54:05

阅读数:4216

评论数:0

Scala教程(十二)List操作高级进阶实战

List组成结构:数组由head tail两部分组成:head表示第一个元素,tail表示其它元素。 :::操作符:list与list之间进行连接符::: List的foldLeft、foldRight、sort函数操作。 ListBuffer、ArrayBuffer、Queue、Stack函数操...

2015-10-13 16:43:43

阅读数:3842

评论数:0

Scala教程(十一)Curry详解与模式匹配

curry函数:curry化的函数被应用了多个参数列表,而不是仅仅一个。 case class匹配: Scala的case class使得对对象进行模式匹配变得非常方便,简单的来说,Scala的case class就是在普通的类定义前加case这个关键字,然后你可以对这些类来模式匹配。

2015-09-28 17:12:50

阅读数:1130

评论数:0

Scala教程(十)函数与闭包详解

本地函数:函数式编程风格的一个重要设计原则:程序应该被解构成若干小的函数,每个完成一个定义良好的任务。单个函数经常很小。这种风格的好处是它给了程序员许多可以灵活组装成更复杂事物的建造模块。每个小块应该充分简化到足以单独理解。 Scala中提供了可以把函数定义在另一个函数中。就好象本地变量那样,这种...

2015-09-24 21:17:29

阅读数:5842

评论数:2

Scala教程(九)正则表达式

什么是正则表达式:在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。正则表达式规定的一个特殊代码叫作它元字符(metacharacter) 字符转义:如果你想查找元字符本身的话,比如你查找....

2015-09-23 17:46:21

阅读数:2950

评论数:0

Scala教程(八)文件操作

scala.io.source对象的getlines方法可以读取文件的所有行。 scala中没有提供读取二进制文件的方法,需要使用Java类库,同样没有内建的对写入文件的支持,可以使用java.io.PrintWriter。

2015-09-23 17:32:12

阅读数:1668

评论数:0

Scala教程(七)package实战

定义包:Scala的代码采用了Java平台的完整的包机制,可以通过把package子句放在文件顶端的方式把整个文件内容放进包里。指定了package全文档的作用域。 包对象:包对象可以包含类、对象和特征,但是不能包含函数的定义。 隐式引用的包:Scala隐式地添加了一些引用到每个程序中。 包的访问...

2015-09-22 16:58:47

阅读数:1733

评论数:0

Scala教程(六)类、属性和对象字段

定义类:Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。在面向对象的语言有两个重要的概念:类(class)和对象(object也被称为实例—instance),其中类是对象的抽象。可以把类理解为模板,对象才是真正的实体。 伴生对象:在Java或C++中即有实例方法...

2015-09-22 10:40:28

阅读数:4562

评论数:0

Scala教程(五)Map、Tuple、Zip实战

键/值对Map:键/值对的集合。任何值可以根据它的键进行检索。键是在映射唯一的,但值不一定是唯一的。映射也被称为哈希表。有两种类型的映射,不可变以及可变的。可变和不可变的对象之间的区别在于,当一个对象是不可变的,对象本身不能被改变。 元组Tuple:tuple最主要是自动识别变量类型,遍历时从1开...

2015-09-21 11:15:00

阅读数:1200

评论数:0

Scala教程(四)数组进阶实战

定义数组:所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。 yield关键字:yield关键字 for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合...

2015-09-21 10:26:55

阅读数:1325

评论数:2

Scala教程(三)数组、元组、列表

Scala教程(三)数组、元组、列表 Tuple(元组)结合多个固定元素数量在一起,使它们可以被传来传去作为一个整体。不像一个数组或列表,元组可以容纳不同类型的对象。元组的访问元素的索引是从1开始,而且是不可改变的。 Array(数组),一种数据结,其中存储相同类型的元素的固定大小的连续集合。...

2015-09-20 11:55:41

阅读数:2167

评论数:0

Scala教程(二)基础语法

Scala教程(二)基础语法 函数语法:定义函数:def关键字,函数名:max,括号():参数列表,:Int 表示返回结果,最外层的大括号{}:表示函数体 匿名函数:不需要给每一个函数命名,正如你不需要给每个数字命名一样。以下是一个匿名函数: 递归函数 函数默认参数 lazy关键字:使用lazy修...

2015-09-20 11:19:10

阅读数:1225

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭