您的位置:首页 > 大数据

大数据系列修炼-Scala课程28

2016-09-15 11:34 323 查看
大数据系列修炼-Scala课程28

核心内容:

1、scala中提取器Extractor实战解析

1、scala中提取器Extractor实战解析
1>scala中的提取器Extractor指的是从case表达式中提取相应数值的过程

2>在match……case中,用常量可以接受到要匹配的数值,并且在=>后面可以提取出相应的数值

3>利用正则表达式可以提取出已经分组的数据

实例程序:

object App
{
def main(args:Array[String]):Unit=
{
//实例1
def fun1(t:Any) = t match
{
case Array(x) => println(""+ x)
case Array(x,y) => println(x+"\t"+y)
case Array(0,x,y) => println(x + "\t" +y)
case _ => println("others")
}
//在模式匹配的过程中会将具体的数值赋值给x与y,在=>后面可以提取出来
fun1(Array(10))
fun1(Array(10,20))
fun1(Array(0,100,200))
println("-----------------------")
//实例2
def fun2(tuple:Any) = tuple match
{
case (0,x)  => println(x)
case (x,y)  => println(x+"\t"+y)
}
fun2((0,1))
fun2((10,20))
println("-----------------------")
//正则表达式在提取器中的实际应用
val pattern = "([0-9]+) ([a-z]+)".r
"20151360 spark" match
{
case pattern(num,item) => println(num+"\t"+item)
}
}
}


运行结果:

10
10  20
100 200
-----------------------
1
10  20
-----------------------
20151360    spark
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: