Scala

循环结构

Scala 循环

Scala 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: 循环类型 Scala 语言提供了以下几种循环类型。点击链接查看每个类型的细节。 循环类型 描述 while 循环 运行一... »

Scala 方法与函数

Scala 方法与函数 Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。 Scala 中的方法跟 Java 的类似,方法是组成类的一部分。 Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。 Scala 中使用 val 语句可以定义函数,def ... »

Scala 闭包

Scala 闭包 闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。 闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。 如下面这段匿名的函数: val multiplier = (i:Int) => i * 10 函数体内有一个变量 i,它作为函数的一个参数。如下面的另一段代码: val multiplier = (i:Int) => i * fact... »

Scala 字符串

Scala 字符串 以下实例将字符串赋值给一个常量: object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } } 以上实例定义了变量 greeting,为字符串常量,它的类型为 String (java.lang.String)。 在 Scal... »

Scala 数组

Scala 数组

Scala 数组 Scala 语言中提供的数组是用来存储固定大小的同类型元素,数组对于每一门编辑应语言来说都是重要的数据结构之一。 声明数组变量并不是声明 number0、number1、…、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来表示一个个单独的变... »

Scala Collection

Scala Collection Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。 Scala 集合分为可变的和不可变的集合。 可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。 而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。 接下来我们将... »

Scala Iterator(迭代器)

Scala Iterator(迭代器) Scala 集合 Scala Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法。 迭代器 it 的两个基本操作是 next 和 hasNext。 调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。 调用 it.hasNext() 用于检测集合中是否还有元素。 让迭代器 it 逐个返回所有元素最简单的方法是使用 whi... »

python

Scala 教程

Scala 教程Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在Java虚拟机上,并兼容现有的Java程序。本教程适合想从零开始学习 Scala 编程语言的开发人员。当然本教程也会对一些模块进行深入,让你更好的了解 Scala 的应用。如果你学习过Java编程语言,将有助于你更快的了解 Scala 编程。相关文档推荐以下是一份 Scala语... »

Scala 类和对象

Scala 类和对象 类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。 我们可以使用 new 关键字来创建类的对象,实例如下: class Point(xc: Int, yc: Int) { var x: Int = xc var y: Int = yc def move(... »

Scala 简介

.NET平台的Scala发布于2004年6月。2009年4月,Twitter宣布他们已经把大部分后端程序从Ruby迁移到Scala,其余部分也打算要迁移。Scala 特性面向对象特性Scala是一种纯面向对象的语言,每个值都是对象。静态类型Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。此外,Wattzon已经公开宣称,其整个平台都已经是基于Scala基础设施编写的。瑞银集团把S... »

Scala Trait(特征)

Scala Trait(特征)Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait,如下所示:trait Equal 以上Trait(特征)由两个方法组成:isEqual ... »

Scala 安装

Scala 安装

Scala 安装 Scala 语言可以运行在Window、Linux、Unix、 Mac OS X等系统上。 Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)。 Mac OS X 和 Linux 上安装 Scala 第一步:Java 设置 确保你本地已经安装了 JDK 1.5 以上版本,并且设置了 JAVA_HOME 环境... »

Scala 模式匹配

Scala 模式匹配 Scala 提供了强大的模式匹配机制,应用也非常广泛。 一个模式匹配包含了一系列备选项,每个都开始于关键字 case。每个备选项都包含了一个模式及一到多个表达式。箭头符号 => 隔开了模式和表达式。 以下是一个简单的整型值模式匹配实例: object Test { def main(args: Array[String]) { println(matchTest(3))... »

Scala 基础语法

Scala 基础语法 如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法。 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。 我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递。接下来我们来理解下,类,对象,方法,实例变量的概念: 对象 – 对象有属性和行为。例如:一... »

Scala 正则表达式

Scala 正则表达式 Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式。以下实例演示了使用正则表达式查找单词 Scala : import scala.util.matching.Regex object Test { def main(args: Array[String]) { val pattern = "Scala".r val str =... »

Scala 数据类型

Scala 数据类型 Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型: 数据类型 描述 Byte 8位有符号补码整数。数值区间为 -128 到 127 Short 16位有符号补码整数。数值区间为 -32768 到 32767 Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 Long 64位有符号补码整数。数值区间为 ... »

Scala 异常处理

Scala 异常处理 Scala 的异常处理和其它语言比如 Java 类似。 Scala 的方法可以通过抛出异常的方法的方式来终止相关代码的运行,不必通过返回值。 抛出异常 Scala 抛出异常的方法和 Java一样,使用 throw 方法,例如,抛出一个新的参数异常: throw new IllegalArgumentException 捕获异常 异常捕捉的机制与其他语言中一样,如果有异常发生,... »

Scala 变量

Scala 变量 变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。 变量声明 在学习如何声明变量与常量之前,我们先来了解一些变量与常量。 一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年... »

Scala 提取器(Extractor)

Scala 提取器(Extractor) 提取器是从传递给它的对象中提取出构造该对象的参数。 Scala 标准库包含了一些预定义的提取器,我们会大致的了解一下它们。 Scala 提取器是一个带有unapply方法的对象。unapply方法算是apply方法的反向操作:unapply接受一个对象,然后从对象中提取值,提取的值通常是用来构造该对象的值。 以下实例演示了邮件地址的提取器对象: objec... »

Scala 访问修饰符

Scala 访问修饰符 Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。 如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。 Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。 私有(Private)成员 用 private 关键字修饰,带有此标... »

Scala 文件 I/O

Scala 文件 I/O Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File): import java.io._ object Test { def main(args: Array[String]) { val writer = new PrintWriter(new File("test.txt" )) writer.write("软件开发网")... »

Scala 运算符

Scala 运算符 一个运算符是一个符号,用于告诉编译器来执行指定的数学运算和逻辑运算。 Scala 含有丰富的内置运算符,包括以下几种类型: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 接下来我们将为大家详细介绍以上各种运算符的应用。 算术运算符 下表列出了 Scala 支持的算术运算符。 假定变量 A 为 10,B 为 20: 运算符 描述 实例 + 加号 A + B 运算结果为... »

Scala IF…ELSE 语句

Scala IF…ELSE 语句

Scala IF…ELSE 语句 Scala IF…ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: if 语句 if 语句有布尔表达式及之后的语句块组成。 语法 if 语句的语法格式如下: if(布尔表达式) { // 如果布尔表达式为 true 则执行该语句块 } 如果布尔表达式为 t... »