• 与 Java/c++ 不同的是,scala 并未提供 ++ 和 – 操作符;
  • 不带参数的 scala 方法通常不使用圆括号;

    scala> "hello".distinct
    String = helo

1. 数值类型转换:用(成员)方法而不是强制类型转换

scala> 99.4.toInt(不需加括号)
Int = 99
scala> 99.4.toInt.toChar
Char = c
scala> "99.4".toDouble
Double = 99.4

2. (成员)方法,还是(成员)方法

  • a+b 其实是 a.+(b),之所以能识别 .+,显然内部实现了运算符重载;

    通常来说,可以用 a 方法 b 来简写 a.方法(b),省去了点,也省去了小括号。

    scala> 1.to(10)
    scala.collection.immutable.Range.Inclusive = Range 1 to 10
    scala> 1 to 10
    scala.collection.immutable.Range.Inclusive = Range 1 to 10

3. apply

  • 使用“类名()”的形式,其实就是“类名.apply()”的一种缩写,以这种方式来构造对象,而不是使用“new 类名()”的方式
    • Array(1, 2, 3, 4)
  • “hello World”(6),在 StringOps 类中有 def apply(n: Int): Char 的函数定义,”Hello World”(6) 其实是 “Hello World”.apply(6) 的缩写,也即提取其第六个字符;

4. scaladoc

  • 可以在线浏览,也可以下载到本地,以 html 的方式就行查阅;

如何找到符合自己 scala 版本的 api,可通过如下方式:

Where to download the latest Scala API documentation?

posted on 2017-08-01 21:09  未雨愁眸  阅读(124)  评论(0编辑  收藏  举报