第28講:Scala抽出器Extractor実戦詳細
841 ワード
抽出器は式から値を取得します
第27話のmatchコードも抽出器です
配列内の要素をcaseで定義された定数、例えばx,yに抽出する
正規表現を使用してデータを抽出する抽出器もあります
第27話のmatchコードも抽出器です
def match_array(arr : Any) = arr match {
case Array(x) => println("Array(1):",x) // 1 ,x
case Array(x,y) => println("Array(2):",x,y) // 2 ,x
case Array(x,_*) => println(" :",x) // ,
case Array(_*) => println(" ") //
}
match_array(Array(0))
match_array(Array("spark"))
match_array(Array("spark","scala"))
match_array(Array("spark","scala",0,4))
配列内の要素をcaseで定義された定数、例えばx,yに抽出する
正規表現を使用してデータを抽出する抽出器もあります
val pattern = "([0-9]+) ([a-z]+)".r
"2016 spark" match {
case pattern(num,item) => println(num+" "+item)
}