一. 首先记录下今天看Scala的几个要点

伴生对象
Scala的类,通常都有一个伴生对象,在Scala的帮助文档里,“O”的标记,就代表伴生对象,查的时候要注意。伴生对象有很多增强型功能的方法,Scala的威力,很大部分来自于它,其方法类似于Java的静态方法,Scala没有静态方法。

scala> BigInt.probablePrime(3, util.Random)
res2: scala.math.BigInt = 5

scala> BigInt.probablePrime(3, util.Random)
res3: scala.math.BigInt = 7

scala> BigInt.probablePrime(3, util.Random)
res4: scala.math.BigInt = 7

probablePrime就是BigInt类的伴生对象的一个方法,随机返回3位(bit)素数,也就是:不是5就是7。

没有参数,且不改变对象本身的方法,通常不加括号

scala> "WOOOoooW".distinct
res5: String = WOo

如:distinct方法

apply方法
很多伴生对象都有apply方法,apply方法用途很广,举例如下:

scala> "Hello"(1)
res6: Char = e

scala> "Hello".apply(1)
res7: Char = e

scala> "Hello".charAt(1)
res8: Char = e

"Hello"(1)"Hello".apply(1)的简写,最后一种写法是Java的标准写法。

其它
除了方法,Scala也是提供函数的,比如sqrt:

scala> math.sqrt(2)
res10: Double = 1.4142135623730951

二. 下午带娃去公园玩的照片
enter image description here

enter image description here

enter image description here 鸽子树

三. 好书
enter image description here