• scala 基础


    • 与 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?

  • 相关阅读:
    HDU-6315 Naive Operations 线段树
    18牛客第二场 J farm
    POJ
    SPOJ
    codeforces 501C. Misha and Forest
    Codeforces 584C
    Domination
    HDU-3074 Multiply game
    Codefoeces-689D Friends and Subsequences
    Codeforces Round #486 (Div. 3)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421244.html
Copyright © 2020-2023  润新知