-
:::
-
::
:::運算符
:::(三個冒號)表示List的連接操作,比如:
- val a = List(1, 2)
- val b = List(3, 4)
- val c = a ::: b
val a = List(1, 2)
val b = List(3, 4)
val c = a ::: b
其中a,b保持不變,a和b連接產生一個新表List(1,2,3,4),而不是在a上面做add操作。
::運算符
::(兩個冒號)表示普通元素與List的連接操作,比如:
val a = 1
val b = List(3, 4)
val c = 1 :: b
則c的結果是List(1,3,4),需要注意的是,1:: b操作,::是右側對象的方法,即它是b對象的方法,而::左側的運算數是::方法的參數,所以1::b的含義是b.::(1)
+ - * / %運算符
在Scala中,+,-,*,/都是函數,比如 1+2,實質上是對象1上調用+函數,傳入的參數是2,等價於(1).+(2)
=>
_N(下劃線數字)
val pair = (99, "Luftballons")
println(pair._1)
println(pair._2)
_N用於訪問元組的第N個元素(N從1開始算起),元組不同於List或者Array,元組(Tuple)中的元素可以不同
->
->方法是所有Scala對象都有的方法,比如A->B,->方法調用的結果是返回一個二元的元組(A,B)
<-
Scala方法定義語法
如果函數體中的語句是一個,那麼可以將包着方法體的{}省略,如:
def max(x :Int, y :Int) :Int = if (x > y) x else y;
<- 運算符
<-用於for循環中,如下所示
<-用於遍歷集合對象(可遍歷對象)B,在每次遍歷的過程中,生成一個新的對象A,這個A是val,而不是var,然後對循環體中對A進行處理,<-在Scala中稱爲generator。 不需要顯式的指定A的類型,因爲Scala使用自動推導的方式根據B的元素類型得出A的類型