list集合
準備資料
var list1 = list(1,2,3):: 操作符 :會將::前的元素做為::後的元素中的第乙個元素進行儲存var list2 = list(4,5,6)
println(list1 :: list2) //list(list(1, 2, 3), 4, 5, 6).::操作符:會將操作符後的元素會放在操作符前的元素的第乙個位置進行儲存println(2 :: list1) //list(2, 1, 2, 3)
println(list1 .::(5)) //list(5, 1, 2, 3)++操作符:會拼接操作符倆段的list集合,只能拼接相同型別println(list1 .::("abc")) //list(abc,5, 1, 2, 3)
println(list1 ++ list2) //list(1, 2, 3, 4, 5, 6):::操作符:與++操作符相同,但是:::操作符只能用於連線list集合,不能連線array陣列println(list2 ++ list1) //list(4, 5, 6, 1, 2, 3)
println(list1 ::: list2) //list(1, 2, 3, 4, 5, 6)
array陣列
準備資料
var array = array(1,2,3):+ 或 +:操作符:拼接資料時,與:相連的是array陣列,與+相連的是容易型別的資料,如果連線符倆端都是array型別的資料,將會把與+相連的資料做為乙個資料存放到:後的陣列中的乙個位置中var array1 = array(4,5,6)
println((array :+ 6).tobuffer) //arraybuffer(1, 2, 3, 6)++操作符:將倆個陣列連線println((array :+ "abc").tobuffer) //arraybuffer(1, 2, 3, abc)
println((6 +: array).tobuffer) //arraybuffer(6, 1, 2, 3)
println(array.tobuffer +: array1.tobuffer) //arraybuffer(arraybuffer(1, 2, 3), 4, 5, 6)
println(array.tobuffer :+ array1.tobuffer) //arraybuffer(1, 2, 3, arraybuffer(4, 5, 6))
println(array.tobuffer ++ array1.tobuffer) //arraybuffer(1, 2, 3, 4, 5, 6)println(array1.tobuffer ++ array.tobuffer) //arraybuffer(4, 5, 6, 1, 2, 3)
scala 操作符 熟悉
如果想在變數名,類名等定義中使用關鍵字 比如val int,double 這樣的系統關鍵字 可以配合兩個反引號實現,引用時候也要帶引號 中置操作符 a 操作符 b 等價於 a 操作符 b 但 1 nil 等價於 nil.1 後置操作符 a 操作符 等同於 a.操作符,如果操作符定義的時候不帶 呼叫時...
scala學習筆記 操作符
中置操作符 二元操作符 操作符位於兩個引數之間。操作符包括字母,比如to,也可以包括操作符字元,比如1 10,等同於方法呼叫1.10 a 識別符號 b 其中的識別符號是乙個帶有兩個引數的方法 乙個隱式引數和乙個顯式引數 例如 1 to 10,實際上是乙個方法呼叫1.to 10 class fract...
scala操作符優先順序
關於scala操作符的優先順序等問題可以詳見這裡,本文直接去扒了scala反射中的toolbox裡面負責編譯的源 找到了其中和操作符相關的部分,記錄如下 對於操作符優先順序,有第乙個字元決定,數越大優先順序越高 def precedence operator name int if operator...