scala变态语法赏析

1.ide

def a_=(v: Int) = arr(0) = v

 2.scala

val arr = Array(1, 2, 3, 4, 5)
val sum = arr.reduceLeft((a:Int, b:Int) => a + b)

 3.对象

private def splitName() = name.split(" ")

4. 这应该算语法糖源码

var m = 1 to 10

5.it

args.foreach(arg => greeting += (arg + " "))

 6. 对象 方法 参数class

object SharkTest{
 def m (i : Int) = i;  

def main(args: Array[String]) {  
   var s = SharkTest m 1  //没错  scala语法能够这样写
}
}

7.object

def s(x:Int)(y:Int)(z:Int) = x+y+z;
def main(args: Array[String]) {  
  var m  = s(1)(2)(3);
}

8.从shark源码中看到的,我改写了简单的例子foreach

  class A ;
   class B extends A 
   class C extends A 
main: 
var a = new B;
  a match {
    case _ : B => {//这里什么都不作的意思}
    case _ : C => {}
    case _  => println(7)
  }

9.语法

val f = {} //什么都没有
val f = {println(1);3} //执行完打印,f值仍然为3
val f = 3;

10 Scala使用下划线表示不一样上下文中的不一样事物,你一般能够把它看做是一个没有命名的神奇通配符方法

def adder(m: Int, n: Int) = m + n
val add2 = adder(2, _:Int)

长期更新,并求网友贡献。。

相关文章
相关标签/搜索