Scala學習之三Scala 下劃線佔位符語法

2021-08-06 03:42:35 字數 1896 閱讀 6572

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...