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)

長期更新,並求網友貢獻。。

相關文章
相關標籤/搜索