添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

则c的结果是List(1,3,4),需要注意的是,1:: b操作,::是右侧对象的方法,即它是b对象的方法,而::左侧的运算数是::方法的参数,所以1::b的含义是b.::(1)

+ - * / %运算符

在Scala中,+,-,*,/都是函数,比如 1+2,实质上是对象1上调用+函数,传入的参数是2,等价于(1).+(2)

Scala 中的 => 符号可以看做是创建函数实例的语法糖。例如: A => T A,B => T 表示一个函数的输入参数类型是“ A ”,“ A,B ”,返回值类型是 T 。请看下面这个实例:

scala> val f: Int => String = myInt => "The value of myInt is: " + myInt.toString()
f: Int => String = <function1>
scala> println(f(3))
The value of myInt is: 3
 

上面例子定义函数f:输入参数是整数类型,返回值是字符串。

另外,() => T表示函数输入参数为空,而A => Unit则表示函数没有返回值

_N(下划线数字)

[java]  view plain
  1. val pair = (99"Luftballons")  
  2. println(pair._1)  
  3. println(pair._2)  

_N用于访问元组的第N个元素(N从1开始算起),元组不同于List或者Array,元组(Tuple)中的元素可以不同

->方法是所有Scala对象都有的方法,比如A->B,->方法调用的结果是返回一个二元的元组(A,B)

::::::::运算符:::(三个冒号)表示List的连接操作,比如: Java代码val a = List(1, 2)   val b = List(3, 4)   val c = a ::: b  [java] view plain copyval a = List(1, 2)  val b = List(3, 4)  val c = a ::: b    其中a,b保持不变,a和b连接产生一...
目录Scala 特殊符号含义1. :::2. ::3. =>4. :+ 和 +:5. ++6. <-7. ->8. ++=9. _10. +=11. -=3.1 值3.2 类型9.1 通配符9.2 指代集合的每一个元素9.3 获取元组指定下标的元素值9.4 使用模式匹配可以用来获取元组的组员9.5 代表某一类型的默认值9.6 :_* 作为一个整体,告诉编译器你希望将某个参数当做数序列处理 正文 date: 2019-08-01 11:15:27 updated: 2019-0
Scala的运算符1.算术运算符2 赋值运算符3.关系运算符4.逻辑运算符5.位运算符5.1铺垫知识5.1.1进制5.1.2 8421码5.1.3整数的原码、反码、补码计算规则5.2 位运算符 运算符:用来拼接变量或常量的符号 表达式:通过运算符连接起来的式子 在Scala,运算符并不仅仅是运算符,也是函数的一种 Scala没有三元运算符,被if-else代替了 1.算术运算符 Scala是没有++,–这两个算术运算符的,这点和Java不一样 整数相除的结果,还是整数;如
找遍scala的操作符表都没找到,回头才发现,原来这是一个for循环的条件,只不过在scala的函数,小括号和大括号是一样的。 另外"←" "<-"这两个符号也是一样的效果。 这里类... \(双反斜杠) 表示:我想要在正则表达式插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。 ②在 Java /scala: \(双反斜杠) 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。 根据 Java Language Specification 的要求...
1. Scala变量 在Scala,变量可以使用var关键字定义为可变变量或使用val关键字定义为不可变变量。例如,在Scala,我们可以定义一个可变的整数变量如下: var age: Int = 25 age = 30 在上面的代码,我们定义了一个名为age的变量,并将其初始化为25。然后,我们又将其值更改为30。 另外,我们也可以定义一个不可变的字符串变量如下: val name: String = "John" 在上面的代码,我们定义了一个名为name的变量,并将其初始化为字符串“John”。由于它是不可变的,我们不能更改它的值。 2. 访问修饰符 Scala有三种访问修饰符:private、protected和public。默认情况下,Scala的所有成员都是public的。以下是这些访问修饰符的解释: - private修饰符:只能在定义该成员的类或对象内部使用。如果一个成员被private修饰符修饰,那么它只能被同一个类或对象的其他成员访问。 - protected修饰符:只能在定义该成员的类、对象或子类使用。如果一个成员被protected修饰符修饰,那么它可以被同一个类、对象或子类的其他成员访问。 - public修饰符:可以在任何地方使用。如果一个成员没有被private或protected修饰符修饰,那么它就是public的。 以下是这些修饰符的示例: class Person { private var age: Int = 25 protected var name: String = "John" def displayAge() { println(age) class Student extends Person { def display() { println(name) 在上面的代码,我们定义了一个名为Person的类,并在其定义了一个名为age的私有变量和一个名为name的受保护变量。然后,我们定义了一个名为Student的类,并在其定义了一个名为display的方法。该方法可以访问父类的受保护变量name,但无法访问私有变量age。 3. 运算符 Scala支持所有常见的算术、比较、逻辑和位运算符。以下是其的一些示例: val x = 10 val y = 20 val z = 25 println("x + y = " + (x + y)) println("x - y = " + (x - y)) println("x * y = " + (x * y)) println("y / x = " + (y / x)) println("y % x = " + (y % x)) println("z << 2 = " + (z << 2)) println("z >> 2 = " + (z >> 2)) println("z >>> 2 = " + (z >>> 2)) println("x & y = " + (x & y)) println("x | y = " + (x | y)) println("!(x == y) = " + !(x == y)) println("x < y && x < z = " + (x < y && x < z)) println("x < y || x < z = " + (x < y || x < z)) 在上面的代码,我们使用了加、减、乘、除和模运算符,以及左移、右移、无符号右移、按位与、按位或、逻辑非、逻辑与和逻辑或运算符。