scala學習之三scala_ 下劃線佔位符語法:2023年8月13日12:46:11
先看例子
* _佔位符的理解:
*/他們輸出的是1234567
list(1,2,3,4,5,6,7).foreach( x=> print(x))
list(1,2,3,4,5,6,7).foreach( print(_))
list(1,2,3,4,5,6,7).foreach( print _)
list(1,2,3,4,5,6,7).foreach( print )
list(1,2,3,4,5,6,7).foreach
println(list[string]("i am into spark so much ","scala is powerful").flatmap(x=>x.split(" "))可以的
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_ =>_.split(" "))這個是不行的
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_.split(" "))這個就可以
理解一:在flatmap(輸入=>輸出)
有了佔位符_就可以不要輸入了
println(list[string]("i am into spark so much ","scala is powerful").flatmap(x=>x.split(" ")).map((_,1)).map(_._2).reduce((x,y)=>x+y))這個也可以
println(list[string]("i am into spark so much ","scala is powerful").flatmap(x=>x.split(" ")).map((_,1)).map(_._2).reduce(_+_))可以的
分析reduce((x,y)=>x+y))和reduce(_+_))不要輸入,分別用佔位符代替
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_.split(" ")).map(x=>(x,1)).map(_._2).reduce(_+_))
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_.split(" ")).map((_,1)).map(_._2).reduce(_+_))
//map((_,1)).和map(x=>(x,1))
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_.split(" ")).map((_,1)).map(x=>x._2).reduce(_+_))
println(list[string]("i am into spark so much ","scala is powerful").flatmap(_.split(" ")).map((_,1)).map(_._2).reduce(_+_))
map(x=>x._2)和map(_._2)
乙個下劃線代表了乙個輸入引數。 上列中 _ 分別代表了1 , 2 ,3 ....
多個下劃線指代多個引數:第乙個下劃線代表第乙個引數,第二個下劃線代表第二個。。。。
使用條件:每個引數在函式中最多出現一次時
scala之三 陣列 對映 元組
1.陣列 定長陣列,可以使用array,當指定型別而沒有初始化時,使用初始預設值初始化 val nums new array int 10 當指定了初始值時,定義陣列就不需要new了 val s array hello world s 0 good 變長陣列,使用arraybuffer,其定義與定長...
Scala基礎學習 scala集合 005
定長陣列 println test val a new array string 5 a.length a 0 hello 賦值 a 1 取值 b 1 flink 可以修改值,並沒有修改指標 val c array 1,2,3,4,5,6 c.mkstring 轉換為字串 c.mkstring c....
Scala學習筆記1 Scala基礎
特點 先編譯 scalac scala 再執行 scala 值與變數 常用型別 byte,char,short,int,long,float,double,boolean 方法定義 迴圈 lazy val 用時才會載入 lazy val a 2 預設引數 def sayname name strin...