scala知识点(二)】的更多相关文章

Scala知识点巩固 1.Scala简介 Scala是一门面向对象和面向函数的编程语言,是一门静态编程语言,如 Java Scala(变量类型在编译阶段确定):源码文件需要基于 JVM 运行的. 动态编程语言如Python 2.Scala的特点 1.速度快 2.优雅(代码量比Java要少许多) 3.Scala中的表达式 Scala中的表达式是有返回值的 一般情况下是最后一条语句的执行结果作为返回值 # 条件表达式 val a = 1val res = if( a > 0 ) "true&q…
Scala允许使用三个引号来进行多行字符引用:(引自) val longString = """Line 1 Line Line """; 1.正则表达式: 与正则表达式相关的类是scala.util.matching.Regex类,要构造一个Regex对象,使用String类的r方法即可,如果正则表达式中包含反斜杠或引号之类的需要转义的字符,那么最好是使用原始(raw)字符串,以三个”号包围 字符匹配 val apacheLogRegex =…
[编者按]在之前文章中,我们介绍了 Java 8和Scala的Lambda表达式对比.在本文,将进行 Hussachai Puripunpinyo Java 和 Scala 对比三部曲的第二部分,主要关注 Stream 和 Collection,本文由 OneAPM 工程师编译整理. 首先,为大家做一个简短的介绍,collection 是有限的数据集,而 stream 是数据的序列集,可以是有限的或无限的. Streams API 是 Java 8 中新发布的 API,主要用于操作 collec…
表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名rename alter table 表名 rename 新表名 2. 增加字段add alter table 表名 add 字段名 数据类型 (完整性约束条件) add 字段名 数据类型(完整性约束条件) 3. 删除字段 drop alter table 表名 drop 字段名; 4. 修改字段 modify 字段名 数据类型 (完整约束条件); change 旧字段名 新字段名 旧数据类型 (完整性约束条件)…
控制结构和函数 摘要: 本篇主要学习在Scala中使用条件表达式.循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异.在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句)看做两样不同的东西.表达式有值,而语句执行动作.在Scala中,几乎所有构造出来的语法结构都有值.这个特性使得程序更加精简,也更易读.本篇的要点包括: 1. 表达式有值 2. 块也有值,是它最后一个表达式的值 3. Scala的for循环就像是"增强版"的Java for循环 4. 分号…
Scala 基础知识点巩固2 1.集合中常用的函数 sum / max / min # 定义一个List[Int]val list1 = List(1,3,4,6,8,9)# 取集合中所有元素的和list1.sum# 取集合中所有元素的最大值list1.max# 取集合中所有元素的最小值 list1.min 2.集合中的其它函数 条件过滤函数 filter(过滤条件表达式) # 如取出list1中的偶数list1.filter(e => e%2 == 0) 对嵌套集合压平操作 flatten #…
一.本章要点 延续让你可以回到程序执行当中之前的某个点; 可以在shift块中捕获延续 延续函数一直延展到包含它的reset块的尾部 延续所谓的”余下的运算“,从包含shift的表达式开始,到包含它的reset块的尾部结束,其中shift替换成一个”洞“ 当你传入一个参数来调用延续时,这个”洞“将传入的参数值填上 包含shift表达式的代码将被以”延续传递风格“(CPS)重写,直到包含该延续的reset为止 包含shift但没有reset的方法必须加上CPS注解 延续可以用来将对某个树形结构的递…
一.本章要点 隐式转换用于类型之间的转换 必须引入隐式转换,并确保它们可以以单个标识符的形式出现在当前作用域 隐式参数列表会要求指定类型的对象.它们可以从当前作用域中以单个标识符定义的隐式对象的获取,或者从目标类型的伴生对象获取; 如果隐式参数是一个单参数的函数,那么它同时也会被作为隐式转换使用 类型参数的上下文界定要求存在一个指定类型的隐式对象 如果有可能定位到一个隐式对象,这一点可以作为证据证明某个类型转换是合法的 二.隐式转换 隐式转换函数指以implicit关键字声明的带有单个参数的函数…
一.本章要点 每个actor都要扩展Actor类并提供act方法 要往actor发送消息,可以用actor!message 消息发送是异步的:”发完就忘“ 要接受消息,actor可以调用receive或react,通常是在循环中这样做 receive/react的参数是有case语句组成的代码块(偏函数) 不同actor之间不应该共享状态.总是使用消息来发送数据 不要直接调用actor的方法,通过消息进行通信 避免同步消息——将发送消息和等待响应分开 不同actor可以通过react而不是rec…
Scala快速入门(二) 一.键盘输入 关于基本类型的运算,以及复制运算,条件运算,运算符等知识,均和Java语言一样,这里不过多叙述. val name = StdIn.readLine() StdIn是一个伴生对象,所以,可以直接进行使用点进行调用. 举例: object VarDemo { def main(args: Array[String]): Unit = { Test.test() } } object Test{ def test(): Unit ={ println("tes…