From d09ca11daa4c1dac0ff99c0e0a1ba21493e5f70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Tue, 4 Jun 2019 09:14:35 +0800 Subject: [PATCH] scala --- notes/Scala基本数据类型和运算符.md | 4 ++-- notes/Scala集合类型.md | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/notes/Scala基本数据类型和运算符.md b/notes/Scala基本数据类型和运算符.md index be3ac03..48105ae 100644 --- a/notes/Scala基本数据类型和运算符.md +++ b/notes/Scala基本数据类型和运算符.md @@ -157,7 +157,7 @@ world 符号字面量写法为: `'标识符` ,这里 标识符可以是任何字母或数字的组合。符号字面量会被映射成`scala.Symbol`的实例,如:符号字面量 `'x `会被编译器翻译为`scala.Symbol("x")`。符号字面量可选方法很少,只能通过`.name`获取其名称。 -需要注意的是:任意的同名symbols都指向同一个Symbol对象,而不同名的symbols一定指向不同的Symbol对象。 +注意:具有相同`name`的符号字面量一定指向同一个Symbol对象,不同`name`的符号字面量一定指向不同的Symbol对象。 ```scala scala> val sym = 'ID008 @@ -209,7 +209,7 @@ Int类中包含了多个重载的`+`方法,用于分别接收不同类型的 ### 3.2 逻辑运算符 -和其他语言一样,在Scala中&&,||的执行是短路的,即如果左边的表达式能确定整个结果,右边的表达式就不会被执行,这满足大多数使用场景。但是如果你需要在无论什么情况下,都执行右边的表达式,则可以使用&或|代替。 +和其他语言一样,在Scala中`&&`,`||`的执行是短路的,即如果左边的表达式能确定整个结果,右边的表达式就不会被执行,这满足大多数使用场景。但是如果你需要在无论什么情况下,都执行右边的表达式,则可以使用`&`或`|`代替。 ### 3.3 赋值运算符 diff --git a/notes/Scala集合类型.md b/notes/Scala集合类型.md index dce0ec7..44f3c24 100644 --- a/notes/Scala集合类型.md +++ b/notes/Scala集合类型.md @@ -21,11 +21,11 @@ Scala中拥有多种集合类型,主要分为可变的和不可变的集合两 ## 二、集合结构 -scala所有的集合类主要位于`scala.collection` 、`scala.collection.mutable`、`scala.collection.immutable`、`scala.collection.generic`包中 ,大部分集合类存在三类变体,分别位于`scala.collection`, `scala.collection.immutable`, `scala.collection.mutable`包。 +Scala中的大部分集合类都存在三类变体,分别位于`scala.collection`, `scala.collection.immutable`, `scala.collection.mutable`包中。还有部分集合类位于`scala.collection.generic`包下。 -- `scala.collection.immutable`包是中的集合是不可变的; -- `scala.collection.mutable`包中的集合是可变的; -- `scala.collection`包中的集合,既可以是可变的,也可以是不可变的。 +- **scala.collection.immutable** :包是中的集合是不可变的; +- **scala.collection.mutable** :包中的集合是可变的; +- **scala.collection** :包中的集合,既可以是可变的,也可以是不可变的。 ```scala val sortSet = scala.collection.SortedSet(1, 2, 3, 4, 5) @@ -66,13 +66,13 @@ Scala中所有集合的顶层实现是`Traversable` 。它唯一的抽象方法 def foreach[U](f: Elem => U) ``` -实现Traversable的集合类只需要实现这个抽象方法,所有其他方法都可以从Traversable继承。Traversable中定义了其余的几十种的方法,具体可以参考官方文档:https://docs.scala-lang.org/overviews/collections/trait-traversable.html +实现`Traversable`的集合类只需要实现这个抽象方法,所有其他方法都可以从`Traversable继承`。Traversable中一共定义了几十种关于集合操作方法,关于这些方法的说明可以参考官方文档:[trait-traversable](https://docs.scala-lang.org/overviews/collections/trait-traversable.html)。 ## 四、Trait Iterable -Iterable拓展了Traversable,并定义了一些额外的方法,Scala中所有的集合都直接或者间接实现了Iterable。Iterable中额外定义了十几种方法,具体可以参考官方文档:https://docs.scala-lang.org/overviews/collections/trait-iterable.html +Scala中所有的集合都直接或者间接实现了`Iterable`特质,`Iterable`拓展自`Traversable`,并额外定义了十几种方法,关于这些方法的用途,官方文档上同样也有详细的说明:[trait-iterable](https://docs.scala-lang.org/overviews/collections/trait-iterable.html)。 @@ -98,8 +98,6 @@ Iterable拓展了Traversable,并定义了一些额外的方法,Scala中所 ## 参考资料 -1. Martin Odersky . Scala编程(第3版)[M] . 电子工业出版社 . 2018-1-1 -2. 凯.S.霍斯特曼 . 快学Scala(第2版)[M] . 电子工业出版社 . 2017-7 3. https://docs.scala-lang.org/overviews/collections/overview.html 4. https://docs.scala-lang.org/overviews/collections/trait-traversable.html 5. https://docs.scala-lang.org/overviews/collections/trait-iterable.html \ No newline at end of file